Leviathan  0.8.0.0
Leviathan game engine
Leviathan::EBMLLIdentifierValue Struct Reference

Decodes an indentifier encoded in EBML. More...

+ Inheritance diagram for Leviathan::EBMLLIdentifierValue:

Public Member Functions

 EBMLLIdentifierValue (const EBMLLIdentifierValue &other)=default
 
EBMLLIdentifierValueoperator= (const EBMLLIdentifierValue &other)=default
 
template<class T >
 EBMLLIdentifierValue (T &stream)
 Read from stream. More...
 

Additional Inherited Members

- Public Attributes inherited from Leviathan::CommonVariableLengthValue
uint64_t Value
 The contents of this value. More...
 
int ByteLength = 1
 The length in bytes that this value took in the file. More...
 
- Protected Member Functions inherited from Leviathan::CommonVariableLengthValue
template<class T >
void ReadNextBytes (T &stream, int firstbyte, int count)
 

Detailed Description

Decodes an indentifier encoded in EBML.

Definition at line 170 of file MatroskaParser.cpp.

Constructor & Destructor Documentation

◆ EBMLLIdentifierValue() [1/2]

Leviathan::EBMLLIdentifierValue::EBMLLIdentifierValue ( const EBMLLIdentifierValue other)
default

◆ EBMLLIdentifierValue() [2/2]

template<class T >
Leviathan::EBMLLIdentifierValue::EBMLLIdentifierValue ( T &  stream)
inline

Read from stream.

Definition at line 177 of file MatroskaParser.cpp.

178  {
179  int byte = 0;
180  byte = stream.get();
181 
182  CHECK_BYTE_COUNT_ID(ONE, 1);
183  CHECK_BYTE_COUNT_ID(TWO, 2);
184  CHECK_BYTE_COUNT_ID(THREE, 3);
185  CHECK_BYTE_COUNT_ID(FOUR, 4);
186 
187  throw InvalidState(
188  "MatroskaParser: EBML identifier could not be handled, first byte: " +
189  std::to_string(byte));
190  }
#define CHECK_BYTE_COUNT_ID(countname, count)

Member Function Documentation

◆ operator=()

EBMLLIdentifierValue& Leviathan::EBMLLIdentifierValue::operator= ( const EBMLLIdentifierValue other)
default

The documentation for this struct was generated from the following file: