#include "src/trace_processor/containers/row_map.h"
#include <algorithm>
#include <cstdint>
#include <unordered_set>
#include <utility>
#include <variant>
#include <vector>
#include "perfetto/base/logging.h"
#include "src/trace_processor/containers/bit_vector.h"
#include "src/trace_processor/containers/row_map_algorithms.h"
namespace perfetto {
namespace trace_processor {
namespace {
Range;
OutputIndex;
Variant;
RowMap Select(Range range, Range selector) { … }
RowMap Select(Range range, const BitVector& selector) { … }
RowMap Select(Range range, const std::vector<OutputIndex>& selector) { … }
RowMap Select(const BitVector& bv, Range selector) { … }
RowMap Select(const BitVector& bv, const BitVector& selector) { … }
RowMap Select(const BitVector& bv, const std::vector<uint32_t>& selector) { … }
RowMap Select(const std::vector<uint32_t>& iv, Range selector) { … }
RowMap Select(const std::vector<uint32_t>& iv, const BitVector& selector) { … }
RowMap Select(const std::vector<uint32_t>& iv,
const std::vector<uint32_t>& selector) { … }
Variant IntersectInternal(BitVector& first, const BitVector& second) { … }
Variant IntersectInternal(Range first, Range second) { … }
Variant IntersectInternal(std::vector<OutputIndex>& first,
const std::vector<OutputIndex>& second) { … }
Variant IntersectInternal(Range range, const BitVector& bv) { … }
Variant IntersectInternal(BitVector& bv, Range range) { … }
Variant IntersectInternal(const std::vector<OutputIndex>& index_vec,
const BitVector& bv) { … }
Variant IntersectInternal(const BitVector& bv,
const std::vector<OutputIndex>& index_vec) { … }
Variant IntersectInternal(Range range,
const std::vector<OutputIndex>& index_vec) { … }
Variant IntersectInternal(const std::vector<OutputIndex>& index_vec,
Range range) { … }
}
RowMap::RowMap() : … { … }
RowMap::RowMap(uint32_t start, uint32_t end) : … { … }
RowMap::RowMap(Variant def) : … { … }
RowMap::RowMap(Range r) : … { … }
RowMap::RowMap(BitVector bit_vector) : … { … }
RowMap::RowMap(IndexVector vec) : … { … }
RowMap RowMap::Copy() const { … }
OutputIndex RowMap::Max() const { … }
RowMap RowMap::SelectRowsSlow(const RowMap& selector) const { … }
void RowMap::Intersect(const RowMap& second) { … }
RowMap::Iterator::Iterator(const RowMap* rm) : … { … }
}
}