|
LibCppBinary
Modern cross-platform C++ binary parsing library
|
Classes | |
| class | BufferStream |
| Represents a memory buffer that can be used as a stream. More... | |
| struct | ChunkHeader |
| Represents the header of a binary data chunk. More... | |
| class | DataField |
| Abstract base class representing a data field in a binary file. More... | |
| struct | DataStructure |
| Abstract base struct representing data structure in binary file. More... | |
| class | FileStream |
| Abstract base class representing a file stream. More... | |
| class | IntField |
| Represents an integer field in a binary file. More... | |
| class | RawField |
| Represents a raw data field in a binary file. More... | |
| class | StandardFileStream |
| Provides a standard file stream for manipulating binary files. More... | |
| class | Stream |
| Abstract base class representing a binary stream. More... | |
| class | StringField |
| Represents a string field in a binary file. More... | |
Typedefs | |
| using | UInt8Field = IntField<uint8_t, 1> |
| Represents an unsigned 8-bit integer field in a binary file. | |
| using | UInt16Field = IntField<uint16_t, 2> |
| Represents an unsigned 16-bit integer field in a binary file. | |
| using | UInt24Field = IntField<uint32_t, 3> |
| Represents an unsigned 24-bit integer field in a binary file. | |
| using | UInt32Field = IntField<uint32_t, 4> |
| Represents an unsigned 32-bit integer field in a binary file. | |
| using | UInt64Field = IntField<uint64_t, 8> |
| Represents an unsigned 64-bit integer field in a binary file. | |
| using | Int8Field = IntField<int8_t, 1> |
| Represents a signed 8-bit integer field in a binary file. | |
| using | Int16Field = IntField<int16_t, 2> |
| Represents a signed 16-bit integer field in a binary file. | |
| using | Int24Field = IntField<int32_t, 3> |
| Represents a signed 24-bit integer field in a binary file. | |
| using | Int32Field = IntField<int32_t, 4> |
| Represents a signed 32-bit integer field in a binary file. | |
| using | Int64Field = IntField<int64_t, 8> |
| Represents a signed 64-bit integer field in a binary file. | |
Enumerations | |
| enum class | FieldEndianness { Little , Big } |
| Determines the byte order of an integer. More... | |
| enum class | FileMode { Read , Write , ReadWrite } |
| Determines the mode to open a file in. More... | |
| enum class | StringFormat { Terminated , Raw , Printable , Bin , Hex , Dec } |
| Determines the format to output a string representation in. More... | |
Functions | |
| FieldEndianness | GetSystemEndianness () |
| Determines the endianness of the system. | |
Variables | |
| constexpr int | chunkIDSize { 4 } |
| The size of the chunk ID field, in bytes. | |
| const char * | chunkIDSizeError |
| Error message for invalid chunk ID size. | |
| constexpr int | bitsPerByte { 8 } |
| Indicates the number of bits in a byte of data. | |
| constexpr int | byteMask { 0xFF } |
| Used for selecting the least significant byte on little endian. | |
| FieldEndianness | defaultEndianness |
| Controls what endianness IntFields are created with by default. | |
| using Binary::Int16Field = IntField<int16_t, 2> |
Represents a signed 16-bit integer field in a binary file.
| using Binary::Int24Field = IntField<int32_t, 3> |
Represents a signed 24-bit integer field in a binary file.
| using Binary::Int32Field = IntField<int32_t, 4> |
Represents a signed 32-bit integer field in a binary file.
| using Binary::Int64Field = IntField<int64_t, 8> |
Represents a signed 64-bit integer field in a binary file.
| using Binary::Int8Field = IntField<int8_t, 1> |
Represents a signed 8-bit integer field in a binary file.
| using Binary::UInt16Field = IntField<uint16_t, 2> |
Represents an unsigned 16-bit integer field in a binary file.
| using Binary::UInt24Field = IntField<uint32_t, 3> |
Represents an unsigned 24-bit integer field in a binary file.
| using Binary::UInt32Field = IntField<uint32_t, 4> |
Represents an unsigned 32-bit integer field in a binary file.
| using Binary::UInt64Field = IntField<uint64_t, 8> |
Represents an unsigned 64-bit integer field in a binary file.
| using Binary::UInt8Field = IntField<uint8_t, 1> |
Represents an unsigned 8-bit integer field in a binary file.
|
strong |
|
strong |
|
strong |
Determines the format to output a string representation in.
Data fields can be converted to a string representation. This enum allows you to choose the format of the string representation.
| FieldEndianness Binary::GetSystemEndianness | ( | ) |
Determines the endianness of the system.
|
inlineconstexpr |
Indicates the number of bits in a byte of data.
|
constexpr |
Used for selecting the least significant byte on little endian.
|
inlineconstexpr |
The size of the chunk ID field, in bytes.
|
extern |
Error message for invalid chunk ID size.
|
extern |
Controls what endianness IntFields are created with by default.