Go to the documentation of this file.
38 using ReadJob = std::variant<ReadMessageJob, DecompressChunkJob>;
56 if constexpr (std::is_same_v<T, ReadMessageJob>) {
57 result =
arg.timestamp;
58 }
else if constexpr (std::is_same_v<T, DecompressChunkJob>) {
60 result =
arg.messageEndTime;
62 result =
arg.messageStartTime;
65 static_assert(always_false_v<T>,
"non-exhaustive visitor!");
76 if constexpr (std::is_same_v<T, ReadMessageJob>) {
78 }
else if constexpr (std::is_same_v<T, DecompressChunkJob>) {
80 result.
offset =
arg.messageIndexEndOffset;
85 static_assert(always_false_v<T>,
"non-exhaustive visitor!");
95 if (aTimestamp == bTimestamp) {
98 return aTimestamp > bTimestamp;
104 if (aTimestamp == bTimestamp) {
107 return aTimestamp < bTimestamp;
137 auto popped =
heap_.back();
A job to read a specific message at offset offset from the decompressed chunk stored in chunkReaderIn...
ReadJobQueue(bool reverse)
std::variant< ReadMessageJob, DecompressChunkJob > ReadJob
A union of jobs that an indexed MCAP reader executes.
ByteOffset chunkStartOffset
auto arg(const Char *name, const T &arg) -> detail::named_arg< Char, T >
A priority queue of jobs for an indexed MCAP reader to execute.
void push(DecompressChunkJob &&decompressChunkJob)
const T & move(const T &v)
typename std::decay< T >::type decay_t
constexpr bool always_false_v
static RecordOffset PositionComparisonKey(const ReadJob &job, bool reverse)
std::vector< ReadJob > heap_
Timestamp messageStartTime
A job to decompress the chunk starting at chunkStartOffset. The message indices starting directly aft...
static bool CompareReverse(const ReadJob &a, const ReadJob &b)
static bool CompareForward(const ReadJob &a, const ReadJob &b)
ByteOffset messageIndexEndOffset
void push(ReadMessageJob &&readMessageJob)
static Timestamp TimeComparisonKey(const ReadJob &job, bool reverse)
return the timestamp key that should be used to compare jobs.
plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:46