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

Template class for EBML data types. More...

#include <ebmlDataElement.h>

Inheritance diagram for ebml::ebmlDataType< T >:
ebml::ebmlTypeCRTP< ebmlDataType< T >, ebmlDataElement< T > > ebml::ebmlElementType

Public Member Functions

 ebmlDataType (const char *, const std::wstring &)
 
 ebmlDataType (const char *, const std::wstring &, const T &)
 
 ebmlDataType (const char *, const std::wstring &, T &&)
 
 ebmlDataType (ebmlID_t, const std::wstring &)
 
 ebmlDataType (ebmlID_t, const std::wstring &, const T &)
 
 ebmlDataType (ebmlID_t, const std::wstring &, T &&)
 
 ebmlDataType (const char *, const std::wstring &, const seekHelper_t *)
 
 ebmlDataType (const char *, const std::wstring &, const T &, const seekHelper_t *)
 
 ebmlDataType (const char *, const std::wstring &, T &&, const seekHelper_t *)
 
 ebmlDataType (ebmlID_t, const std::wstring &, const seekHelper_t *)
 
 ebmlDataType (ebmlID_t, const std::wstring &, const T &, const seekHelper_t *)
 
 ebmlDataType (ebmlID_t, const std::wstring &, T &&, const seekHelper_t *)
 
template<>
unsigned long long defaultdefault
 
template<>
long long defaultdefault
 
template<>
double defaultdefault
 
template<>
std::string defaultdefault
 
template<>
std::wstring defaultdefault
 
template<>
ebml::timepoint_t defaultdefault
 
template<>
const unsigned long long defaultdefault
 
template<>
const long long defaultdefault
 
template<>
const double defaultdefault
 
template<>
const std::string defaultdefault
 
template<>
const std::wstring defaultdefault
 
template<>
const ebml::timepoint_t defaultdefault
 
- Public Member Functions inherited from ebml::ebmlTypeCRTP< ebmlDataType< T >, ebmlDataElement< T > >
 ebmlTypeCRTP (Args &&... args)
 
ebml::ptr< ebmlDataElement< T > > operator() (Args &&... args) const
 Creates a new instance of an EBML element. More...
 
ebml::ptr< ebmlDataElement< T > > decode (const parseString &parsed) const
 
ebml::ptr< ebmlDataElement< T > > decode (const parseFile &parsed) const
 
ebml::ptr< ebmlDataElement< T > > decode (const char *data, size_t size) const
 
ebml::ptr< ebmlDataElement< T > > decode (const std::string &data) const
 
ebml::ptr< ebmlDataElement< T > > decode (ioBase &file) const
 
ebml::ptr< ebmlDataElement< T > > decode (ioBase &file, off_t &offset) const
 
ebml::ptr< ebmlDataElement< T > > decode (ioBase &file, off_t offset, off_t &endoffset) const
 
ebml::ptr< const ebmlDataElement< T > > cdecode (const parseString &parsed) const
 
ebml::ptr< const ebmlDataElement< T > > cdecode (const parseFile &parsed) const
 
ebml::ptr< const ebmlDataElement< T > > cdecode (const char *data, size_t size) const
 
ebml::ptr< const ebmlDataElement< T > > cdecode (const std::string &data) const
 
ebml::ptr< const ebmlDataElement< T > > cdecode (ioBase &file) const
 
ebml::ptr< const ebmlDataElement< T > > cdecode (ioBase &file, off_t &offset) const
 
ebml::ptr< const ebmlDataElement< T > > cdecode (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
 

Public Attributes

defaultval
 
- 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
 

Static Public Attributes

static T defaultdefault
 

Friends

class ebmlDataElement< T >
 

Additional Inherited Members

- Protected Member Functions inherited from ebml::ebmlTypeCRTP< ebmlDataType< T >, ebmlDataElement< T > >
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
 

Detailed Description

template<typename T>
class ebml::ebmlDataType< T >

Template class for EBML data types.

Provides a factory and decoding interface for EBML elements that store data of type T.

In order to implement ebmlDataType<T> and ebmlDataElement<T>, you only need to implement these functions:

Template Parameters
TThe type of data stored in the element.

Constructor & Destructor Documentation

◆ ebmlDataType() [1/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( const char *  ,
const std::wstring &   
)

◆ ebmlDataType() [2/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( const char *  ,
const std::wstring &  ,
const T &   
)

◆ ebmlDataType() [3/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( const char *  ,
const std::wstring &  ,
T &&   
)

◆ ebmlDataType() [4/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( ebmlID_t  ,
const std::wstring &   
)

◆ ebmlDataType() [5/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( ebmlID_t  ,
const std::wstring &  ,
const T &   
)

◆ ebmlDataType() [6/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( ebmlID_t  ,
const std::wstring &  ,
T &&   
)

◆ ebmlDataType() [7/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( const char *  ,
const std::wstring &  ,
const seekHelper_t  
)

◆ ebmlDataType() [8/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( const char *  ,
const std::wstring &  ,
const T &  ,
const seekHelper_t  
)

◆ ebmlDataType() [9/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( const char *  ,
const std::wstring &  ,
T &&  ,
const seekHelper_t  
)

◆ ebmlDataType() [10/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( ebmlID_t  ,
const std::wstring &  ,
const seekHelper_t  
)

◆ ebmlDataType() [11/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( ebmlID_t  ,
const std::wstring &  ,
const T &  ,
const seekHelper_t  
)

◆ ebmlDataType() [12/12]

template<typename T>
ebml::ebmlDataType< T >::ebmlDataType ( ebmlID_t  ,
const std::wstring &  ,
T &&  ,
const seekHelper_t  
)

Member Function Documentation

◆ defaultdefault() [1/12]

template<>
unsigned long long ebml::ebmlDataType< unsigned long long >::defaultdefault ( )

◆ defaultdefault() [2/12]

template<>
long long ebml::ebmlDataType< long long >::defaultdefault ( )

◆ defaultdefault() [3/12]

template<>
double ebml::ebmlDataType< double >::defaultdefault ( )

◆ defaultdefault() [4/12]

template<>
std::string ebml::ebmlDataType< std::string >::defaultdefault ( )

◆ defaultdefault() [5/12]

template<>
std::wstring ebml::ebmlDataType< std::wstring >::defaultdefault ( )

◆ defaultdefault() [6/12]

template<>
ebml::timepoint_t ebml::ebmlDataType< ebml::timepoint_t >::defaultdefault ( )

◆ defaultdefault() [7/12]

template<>
const unsigned long long ebml::ebmlDataType< const unsigned long long >::defaultdefault ( )

◆ defaultdefault() [8/12]

template<>
const long long ebml::ebmlDataType< const long long >::defaultdefault ( )

◆ defaultdefault() [9/12]

template<>
const double ebml::ebmlDataType< const double >::defaultdefault ( )

◆ defaultdefault() [10/12]

template<>
const std::string ebml::ebmlDataType< const std::string >::defaultdefault ( )

◆ defaultdefault() [11/12]

template<>
const std::wstring ebml::ebmlDataType< const std::wstring >::defaultdefault ( )

◆ defaultdefault() [12/12]

template<>
const ebml::timepoint_t ebml::ebmlDataType< const ebml::timepoint_t >::defaultdefault ( )

Friends And Related Function Documentation

◆ ebmlDataElement< T >

template<typename T>
friend class ebmlDataElement< T >
friend

Member Data Documentation

◆ defaultdefault

template<typename T>
T ebml::ebmlDataType< T >::defaultdefault
static

◆ defaultval

template<typename T>
T ebml::ebmlDataType< T >::defaultval

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