Classes | Typedefs | Functions | Variables
mcap::internal Namespace Reference

Classes

struct  CRC32Table
 
struct  DecompressChunkJob
 A job to decompress the chunk starting at chunkStartOffset. The message indices starting directly after the chunk record and ending at messageIndexEndOffset will be used to find specific messages within the chunk. More...
 
class  Interval
 
class  IntervalTree
 
struct  ReadJobQueue
 A priority queue of jobs for an indexed MCAP reader to execute. More...
 
struct  ReadMessageJob
 A job to read a specific message at offset offset from the decompressed chunk stored in chunkReaderIndex. A timestamp is provided to order this job relative to other jobs. More...
 

Typedefs

using ReadJob = std::variant< ReadMessageJob, DecompressChunkJob >
 A union of jobs that an indexed MCAP reader executes. More...
 

Functions

const std::string CompressionString (Compression compression)
 
uint32_t crc32Final (uint32_t crc)
 
uint32_t crc32Update (const uint32_t prev, const std::byte *const data, const size_t length)
 
uint32_t getUint32LE (const std::byte *data)
 
template<class Scalar , typename Value >
Value intervalStart (const Interval< Scalar, Value > &i)
 
template<class Scalar , typename Value >
Value intervalStop (const Interval< Scalar, Value > &i)
 
uint32_t KeyValueMapSize (const KeyValueMap &map)
 
std::string MagicToHex (const std::byte *data)
 
template<class Scalar , typename Value >
std::ostream & operator<< (std::ostream &out, const Interval< Scalar, Value > &i)
 
Status ParseByteArray (const std::byte *data, uint64_t maxSize, ByteArray *output)
 
Status ParseKeyValueMap (const std::byte *data, uint64_t maxSize, KeyValueMap *output)
 
Status ParseString (const std::byte *data, uint64_t maxSize, std::string *output)
 
Status ParseStringView (const std::byte *data, uint64_t maxSize, std::string_view *output)
 
uint16_t ParseUint16 (const std::byte *data)
 
uint32_t ParseUint32 (const std::byte *data)
 
Status ParseUint32 (const std::byte *data, uint64_t maxSize, uint32_t *output)
 
uint64_t ParseUint64 (const std::byte *data)
 
Status ParseUint64 (const std::byte *data, uint64_t maxSize, uint64_t *output)
 
template<typename... T>
std::string StrCat (T &&... args)
 
std::string to_string (const char *arg)
 
std::string to_string (const std::string &arg)
 
std::string to_string (std::string_view arg)
 
std::string ToHex (std::byte byte)
 
std::string ToHex (uint8_t byte)
 

Variables

template<class >
constexpr bool always_false_v = false
 
static constexpr uint32_t CRC32_INIT = 0xffffffff
 
static constexpr CRC32Table< 0xedb88320, 8 > CRC32_TABLE
 
constexpr uint64_t FooterLength
 
constexpr uint64_t MinHeaderLength
 

Typedef Documentation

◆ ReadJob

A union of jobs that an indexed MCAP reader executes.

Definition at line 38 of file read_job_queue.hpp.

Function Documentation

◆ CompressionString()

const std::string mcap::internal::CompressionString ( Compression  compression)
inline

Definition at line 59 of file internal.hpp.

◆ crc32Final()

uint32_t mcap::internal::crc32Final ( uint32_t  crc)
inline

Finalize a CRC32 by inverting the output value.

Definition at line 104 of file crc32.hpp.

◆ crc32Update()

uint32_t mcap::internal::crc32Update ( const uint32_t  prev,
const std::byte *const  data,
const size_t  length 
)
inline

Update a streaming CRC32 calculation.

For performance, this implementation processes the data 8 bytes at a time, using the algorithm presented at: https://github.com/komrad36/CRC#option-9-8-byte-tabular

Definition at line 74 of file crc32.hpp.

◆ getUint32LE()

uint32_t mcap::internal::getUint32LE ( const std::byte *  data)
inline

Definition at line 56 of file crc32.hpp.

◆ intervalStart()

template<class Scalar , typename Value >
Value mcap::internal::intervalStart ( const Interval< Scalar, Value > &  i)

Definition at line 27 of file intervaltree.hpp.

◆ intervalStop()

template<class Scalar , typename Value >
Value mcap::internal::intervalStop ( const Interval< Scalar, Value > &  i)

Definition at line 32 of file intervaltree.hpp.

◆ KeyValueMapSize()

uint32_t mcap::internal::KeyValueMapSize ( const KeyValueMap map)
inline

Definition at line 51 of file internal.hpp.

◆ MagicToHex()

std::string mcap::internal::MagicToHex ( const std::byte *  data)
inline

Definition at line 181 of file internal.hpp.

◆ operator<<()

template<class Scalar , typename Value >
std::ostream& mcap::internal::operator<< ( std::ostream &  out,
const Interval< Scalar, Value > &  i 
)

Definition at line 37 of file intervaltree.hpp.

◆ ParseByteArray()

Status mcap::internal::ParseByteArray ( const std::byte *  data,
uint64_t  maxSize,
ByteArray output 
)
inline

Definition at line 131 of file internal.hpp.

◆ ParseKeyValueMap()

Status mcap::internal::ParseKeyValueMap ( const std::byte *  data,
uint64_t  maxSize,
KeyValueMap output 
)
inline

Definition at line 145 of file internal.hpp.

◆ ParseString()

Status mcap::internal::ParseString ( const std::byte *  data,
uint64_t  maxSize,
std::string *  output 
)
inline

Definition at line 118 of file internal.hpp.

◆ ParseStringView()

Status mcap::internal::ParseStringView ( const std::byte *  data,
uint64_t  maxSize,
std::string_view output 
)
inline

Definition at line 104 of file internal.hpp.

◆ ParseUint16()

uint16_t mcap::internal::ParseUint16 ( const std::byte *  data)
inline

Definition at line 71 of file internal.hpp.

◆ ParseUint32() [1/2]

uint32_t mcap::internal::ParseUint32 ( const std::byte *  data)
inline

Definition at line 75 of file internal.hpp.

◆ ParseUint32() [2/2]

Status mcap::internal::ParseUint32 ( const std::byte *  data,
uint64_t  maxSize,
uint32_t *  output 
)
inline

Definition at line 80 of file internal.hpp.

◆ ParseUint64() [1/2]

uint64_t mcap::internal::ParseUint64 ( const std::byte *  data)
inline

Definition at line 89 of file internal.hpp.

◆ ParseUint64() [2/2]

Status mcap::internal::ParseUint64 ( const std::byte *  data,
uint64_t  maxSize,
uint64_t *  output 
)
inline

Definition at line 95 of file internal.hpp.

◆ StrCat()

template<typename... T>
std::string mcap::internal::StrCat ( T &&...  args)
inline

Definition at line 45 of file internal.hpp.

◆ to_string() [1/3]

std::string mcap::internal::to_string ( const char *  arg)
inline

Definition at line 41 of file internal.hpp.

◆ to_string() [2/3]

std::string mcap::internal::to_string ( const std::string &  arg)
inline

Definition at line 35 of file internal.hpp.

◆ to_string() [3/3]

std::string mcap::internal::to_string ( std::string_view  arg)
inline

Definition at line 38 of file internal.hpp.

◆ ToHex() [1/2]

std::string mcap::internal::ToHex ( std::byte  byte)
inline

Definition at line 31 of file internal.hpp.

◆ ToHex() [2/2]

std::string mcap::internal::ToHex ( uint8_t  byte)
inline

Definition at line 25 of file internal.hpp.

Variable Documentation

◆ always_false_v

template<class >
constexpr bool mcap::internal::always_false_v = false
inlineconstexpr

Definition at line 11 of file read_job_queue.hpp.

◆ CRC32_INIT

constexpr uint32_t mcap::internal::CRC32_INIT = 0xffffffff
staticconstexpr

Initialize a CRC32 to all 1 bits.

Definition at line 66 of file crc32.hpp.

◆ CRC32_TABLE

constexpr CRC32Table<0xedb88320, 8> mcap::internal::CRC32_TABLE
staticconstexpr

Definition at line 61 of file crc32.hpp.

◆ FooterLength

constexpr uint64_t mcap::internal::FooterLength
constexpr
Initial value:
= 1 +
8 +
8 +
8 +
4 +
sizeof(Magic)

Definition at line 18 of file internal.hpp.

◆ MinHeaderLength

constexpr uint64_t mcap::internal::MinHeaderLength
constexpr
Initial value:
= sizeof(Magic) +
1 +
8 +
4 +
4

Definition at line 13 of file internal.hpp.

mcap::Magic
constexpr uint8_t Magic[]
Definition: types.hpp:28


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:52