libebml_ng
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members

Represents the base type for all EBML master elements. More...

#include <ebmlMasterElementType.h>

Inheritance diagram for ebml::ebmlMasterElementType:
ebml::ebmlTypeCRTP< ebmlMasterElementType, ebmlMasterElement > ebml::ebmlElementType ebml::ebmlTypeCRTP< ebmlLazyLoadType, ebmlLazyLoad, ebmlMasterElementType > ebml::ebmlTypeCRTP< ebmlListType, ebmlList, ebmlMasterElementType > ebml::ebmlTypeCRTP< ebmlMapType< K, V, H, E, A, B >, ebmlMap< K, V, H, E, A, B >, ebmlMasterElementType > ebml::ebmlTypeCRTP< ebmlPairType< const K, V >, ebmlPair< const K, V >, ebmlMasterElementType > ebml::ebmlTypeCRTP< ebmlPairType< K, V >, ebmlPair< K, V >, ebmlMasterElementType > ebml::ebmlTypeCRTP< ebmlStructType, ebmlStruct, ebmlMasterElementType > ebml::ebmlLazyLoadType ebml::ebmlListType ebml::ebmlPairType< const K, V > ebml::ebmlPairType< K, V > ebml::ebmlStructType

Public Member Functions

 ebmlMasterElementType (const char *, const std::wstring &, const childTypeSpecArg_l &)
 
 ebmlMasterElementType (ebmlID_t, const std::wstring &, const childTypeSpecArg_l &)
 
 ebmlMasterElementType (const char *, const std::wstring &, const childTypeSpecArg_l &, const seekHelper_t *seekHelper)
 
 ebmlMasterElementType (ebmlID_t, const std::wstring &, const childTypeSpecArg_l &, const seekHelper_t *seekHelper)
 
const childTypeSpec_tchildTypes () const
 Gets the child type specification. More...
 
- Public Member Functions inherited from ebml::ebmlTypeCRTP< ebmlMasterElementType, ebmlMasterElement >
 ebmlTypeCRTP (Args &&... args)
 
ebml::ptr< ebmlMasterElementoperator() (Args &&... args) const
 Creates a new instance of an EBML element. More...
 
ebml::ptr< ebmlMasterElementdecode (const parseString &parsed) const
 
ebml::ptr< ebmlMasterElementdecode (const parseFile &parsed) const
 
ebml::ptr< ebmlMasterElementdecode (const char *data, size_t size) const
 
ebml::ptr< ebmlMasterElementdecode (const std::string &data) const
 
ebml::ptr< ebmlMasterElementdecode (ioBase &file) const
 
ebml::ptr< ebmlMasterElementdecode (ioBase &file, off_t &offset) const
 
ebml::ptr< ebmlMasterElementdecode (ioBase &file, off_t offset, off_t &endoffset) const
 
ebml::ptr< const ebmlMasterElementcdecode (const parseString &parsed) const
 
ebml::ptr< const ebmlMasterElementcdecode (const parseFile &parsed) const
 
ebml::ptr< const ebmlMasterElementcdecode (const char *data, size_t size) const
 
ebml::ptr< const ebmlMasterElementcdecode (const std::string &data) const
 
ebml::ptr< const ebmlMasterElementcdecode (ioBase &file) const
 
ebml::ptr< const ebmlMasterElementcdecode (ioBase &file, off_t &offset) const
 
ebml::ptr< const ebmlMasterElementcdecode (ioBase &file, off_t offset, off_t &endoffset) const
 
- Public Member Functions inherited from ebml::ebmlElementType
 ebmlElementType (const char *ebmlID, const std::wstring &name)
 Constructor taking an EBML ID as a VINT string and an element name. More...
 
 ebmlElementType (const char *ebmlID, const std::wstring &name, const seekHelper_t *seekHelper)
 
 ebmlElementType (ebmlID_t ebmlID, const std::wstring &name)
 Constructor taking an EBML ID as an unsigned integer and an element name. More...
 
 ebmlElementType (ebmlID_t ebmlID, const std::wstring &name, const seekHelper_t *seekHelper)
 
ebml::ptr< ebmlElementoperator() () const
 Factory operator to create a default EBML element instance. More...
 
seekMapBaseinitSeekMap () const
 
seekData_tmakeSeekData (const parseString &) const
 
seekData_tmakeSeekData (const parseString &, const ebmlMasterElement_wp &) const
 
seekData_tmakeSeekData (const parseString &, ebmlMasterElement_wp &&) const
 
seekData_tmakeSeekData (const parseFile &) const
 
seekData_tmakeSeekData (const parseFile &, const ebmlMasterElement_wp &) const
 
seekData_tmakeSeekData (const parseFile &, ebmlMasterElement_wp &&) const
 
template<typename T = ebmlElementType>
T & as ()
 
template<typename T = ebmlElementType>
T & as () const
 
virtual std::wstring minirepr () const
 
std::wstring repr () const
 
ebml::ptr< ebmlElementdecode (const parseString &) const
 Decode element from ebml::parseString instance. More...
 
ebml::ptr< ebmlElementdecode (const parseFile &) const
 Decode and create a new EBML element instance from ebml::parseFile instance. More...
 
ebml::ptr< ebmlElementdecode (const char *, size_t) const
 Decode and create a new EBML element instance from a raw data buffer. More...
 
ebml::ptr< ebmlElementdecode (const std::string &) const
 Decode and create a new EBML element instance from a std::string instance. More...
 
ebml::ptr< ebmlElementdecode (ioBase &) const
 Decode and create a new EBML element instance from ebml::ioBase instance at the current file position. More...
 
ebml::ptr< ebmlElementdecode (ioBase &, off_t &) const
 Decode and create a new EBML element instance from ebml::ioBase instance with a specified offset. More...
 
ebml::ptr< ebmlElementdecode (ioBase &, off_t, off_t &) const
 Decode from ebml::ioBase instance with a specified offset and store the end offset. More...
 
ebml::ptr< const ebmlElementcdecode (const parseString &) const
 
ebml::ptr< const ebmlElementcdecode (const parseFile &) const
 
ebml::ptr< const ebmlElementcdecode (const char *, size_t) const
 
ebml::ptr< const ebmlElementcdecode (const std::string &) const
 
ebml::ptr< const ebmlElementcdecode (ioBase &) const
 
ebml::ptr< const ebmlElementcdecode (ioBase &, off_t &offset) const
 
ebml::ptr< const ebmlElementcdecode (ioBase &, off_t offset, off_t &end) const
 

Protected Member Functions

 ebmlMasterElementType (const char *, const std::wstring &)
 
 ebmlMasterElementType (ebmlID_t, const std::wstring &)
 
 ebmlMasterElementType (const char *, const std::wstring &, const seekHelper_t *seekHelper)
 
 ebmlMasterElementType (ebmlID_t, const std::wstring &, const seekHelper_t *seekHelper)
 
ebmlElement_decodeChild (const parseString &) const
 
ebmlElement_decodeChild (const parseFile &) const
 
ebmlElement_cdecodeChild (const parseString &) const
 
ebmlElement_cdecodeChild (const parseFile &) const
 
- Protected Member Functions inherited from ebml::ebmlTypeCRTP< ebmlMasterElementType, ebmlMasterElement >
ebmlElement_new () const
 
ebmlElement_decode_v (const parseString &) const
 
ebmlElement_decode_v (const parseFile &) const
 
ebmlElement_cdecode_v (const parseString &) const
 
ebmlElement_cdecode_v (const parseFile &) const
 
- Protected Member Functions inherited from ebml::ebmlElementType
ebmlElement_decode_nocheck (const parseString &parsed) const
 Decode element from ebml::parseString instance. More...
 
ebmlElement_decode_nocheck (const parseFile &parsed) const
 Decode element from ebml::parseFile instance. More...
 
ebmlElement_cdecode_nocheck (const parseString &parsed) const
 
ebmlElement_cdecode_nocheck (const parseFile &parsed) const
 
ebmlElement_decode (const parseString &) const
 Decode element from ebml::parseString instance. More...
 
ebmlElement_decode (const parseFile &) const
 Decode and create a new EBML element instance from ebml::parseFile instance. More...
 
ebmlElement_decode (const char *, size_t) const
 Decode from a raw data buffer. More...
 
ebmlElement_decode (const std::string &) const
 Decode from std::string. More...
 
ebmlElement_decode (ioBase &) const
 Decode and create a new EBML element instance from ebml::ioBase instance at the current file position. More...
 
ebmlElement_decode (ioBase &, off_t &) const
 Decode and create a new EBML element instance from ebml::ioBase instance with a specified offset. More...
 
ebmlElement_decode (ioBase &, off_t, off_t &) const
 Decode from ebml::ioBase instance with a specified offset and store the end offset. More...
 
ebmlElement_cdecode (const parseString &) const
 
ebmlElement_cdecode (const parseFile &) const
 
ebmlElement_cdecode (const char *, size_t) const
 
ebmlElement_cdecode (const std::string &) const
 
ebmlElement_cdecode (ioBase &) const
 
ebmlElement_cdecode (ioBase &, off_t &offset) const
 
ebmlElement_cdecode (ioBase &, off_t offset, off_t &end) const
 

Protected Attributes

childTypeSpec_t _childTypes
 

Friends

class ebmlMasterElement
 

Additional Inherited Members

- Public Attributes inherited from ebml::ebmlElementType
ebmlID_t ebmlID
 EBML ID associated with this element type. More...
 
std::wstring name
 Name (as a wide string) of the element type. More...
 
const seekHelper_t_seekHelper = &seekHelper
 

Detailed Description

Represents the base type for all EBML master elements.

This class provides the fundamental structure and functionality for EBML elements that can contain other elements. It inherits from the CRTP base to enable type‐safe instance creation and decoding.

Constructor & Destructor Documentation

◆ ebmlMasterElementType() [1/8]

ebml::ebmlMasterElementType::ebmlMasterElementType ( const char *  ebmlID,
const std::wstring &  name,
const childTypeSpecArg_l childTypes 
)

◆ ebmlMasterElementType() [2/8]

ebml::ebmlMasterElementType::ebmlMasterElementType ( ebmlID_t  ebmlID,
const std::wstring &  name,
const childTypeSpecArg_l childTypes 
)

◆ ebmlMasterElementType() [3/8]

ebml::ebmlMasterElementType::ebmlMasterElementType ( const char *  ebmlID,
const std::wstring &  name,
const childTypeSpecArg_l childTypes,
const seekHelper_t seekHelper 
)

◆ ebmlMasterElementType() [4/8]

ebml::ebmlMasterElementType::ebmlMasterElementType ( ebmlID_t  ebmlID,
const std::wstring &  name,
const childTypeSpecArg_l childTypes,
const seekHelper_t seekHelper 
)

◆ ebmlMasterElementType() [5/8]

ebml::ebmlMasterElementType::ebmlMasterElementType ( const char *  ebmlID,
const std::wstring &  name 
)
protected

◆ ebmlMasterElementType() [6/8]

ebml::ebmlMasterElementType::ebmlMasterElementType ( ebmlID_t  ebmlID,
const std::wstring &  name 
)
protected

◆ ebmlMasterElementType() [7/8]

ebml::ebmlMasterElementType::ebmlMasterElementType ( const char *  ebmlID,
const std::wstring &  name,
const seekHelper_t seekHelper 
)
protected

◆ ebmlMasterElementType() [8/8]

ebml::ebmlMasterElementType::ebmlMasterElementType ( ebmlID_t  ebmlID,
const std::wstring &  name,
const seekHelper_t seekHelper 
)
protected

Member Function Documentation

◆ _cdecodeChild() [1/2]

ebmlElement * ebml::ebmlMasterElementType::_cdecodeChild ( const parseString parsed) const
inlineprotected

◆ _cdecodeChild() [2/2]

ebmlElement * ebml::ebmlMasterElementType::_cdecodeChild ( const parseFile parsed) const
inlineprotected

◆ _decodeChild() [1/2]

ebmlElement * ebml::ebmlMasterElementType::_decodeChild ( const parseString parsed) const
inlineprotected

◆ _decodeChild() [2/2]

ebmlElement * ebml::ebmlMasterElementType::_decodeChild ( const parseFile parsed) const
inlineprotected

◆ childTypes()

const childTypeSpec_t& ebml::ebmlMasterElementType::childTypes ( ) const
inline

Gets the child type specification.

Returns
A constant reference to the childTypeSpec_t.

Friends And Related Function Documentation

◆ ebmlMasterElement

friend class ebmlMasterElement
friend

Member Data Documentation

◆ _childTypes

childTypeSpec_t ebml::ebmlMasterElementType::_childTypes
protected

The documentation for this class was generated from the following files: