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

A template class representing a key-value pair. More...

#include <ebmlPair.h>

Inheritance diagram for ebml::ebmlPairType< K, V >:
ebml::ebmlTypeCRTP< ebmlPairType< K, V >, ebmlPair< K, V >, ebmlMasterElementType > ebml::ebmlMasterElementType ebml::ebmlTypeCRTP< ebmlMasterElementType, ebmlMasterElement > ebml::ebmlElementType

Public Member Functions

 ebmlPairType (const char *, const std::wstring &, const pair_key_class_t< K > *keycls, const pair_value_class_t< V > *valcls)
 
 ebmlPairType (ebmlID_t, const std::wstring &, const pair_key_class_t< K > *keycls, const pair_value_class_t< V > *valcls)
 
const pair_key_class_t< K > & keycls () const
 
const pair_value_class_t< V > & valcls () const
 
- Public Member Functions inherited from ebml::ebmlTypeCRTP< ebmlPairType< K, V >, ebmlPair< K, V >, ebmlMasterElementType >
 ebmlTypeCRTP (Args &&... args)
 
ebml::ptr< ebmlPair< K, V > > operator() (Args &&... args) const
 Creates a new instance of an EBML element. More...
 
ebml::ptr< ebmlPair< K, V > > decode (const parseString &parsed) const
 
ebml::ptr< ebmlPair< K, V > > decode (const parseFile &parsed) const
 
ebml::ptr< ebmlPair< K, V > > decode (const char *data, size_t size) const
 
ebml::ptr< ebmlPair< K, V > > decode (const std::string &data) const
 
ebml::ptr< ebmlPair< K, V > > decode (ioBase &file) const
 
ebml::ptr< ebmlPair< K, V > > decode (ioBase &file, off_t &offset) const
 
ebml::ptr< ebmlPair< K, V > > decode (ioBase &file, off_t offset, off_t &endoffset) const
 
ebml::ptr< const ebmlPair< K, V > > cdecode (const parseString &parsed) const
 
ebml::ptr< const ebmlPair< K, V > > cdecode (const parseFile &parsed) const
 
ebml::ptr< const ebmlPair< K, V > > cdecode (const char *data, size_t size) const
 
ebml::ptr< const ebmlPair< K, V > > cdecode (const std::string &data) const
 
ebml::ptr< const ebmlPair< K, V > > cdecode (ioBase &file) const
 
ebml::ptr< const ebmlPair< K, V > > cdecode (ioBase &file, off_t &offset) const
 
ebml::ptr< const ebmlPair< K, V > > cdecode (ioBase &file, off_t offset, off_t &endoffset) const
 
- Public Member Functions inherited from ebml::ebmlMasterElementType
 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 Attributes

childTypeSpec_t _valueSpec
 
- Protected Attributes inherited from ebml::ebmlMasterElementType
childTypeSpec_t _childTypes
 

Friends

class ebmlPair< K, V >
 

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
 
- Protected Member Functions inherited from ebml::ebmlTypeCRTP< ebmlPairType< K, V >, ebmlPair< K, V >, ebmlMasterElementType >
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::ebmlMasterElementType
 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::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 K, typename V>
class ebml::ebmlPairType< K, V >

A template class representing a key-value pair.

This template defines the structure for a key-value pair EBML element that is typically used as a child within an ebmlMap. It is specialized with a key type K and a value type V to create a concrete pair element.

Constructor & Destructor Documentation

◆ ebmlPairType() [1/2]

template<typename K, typename V>
ebml::ebmlPairType< K, V >::ebmlPairType ( const char *  ,
const std::wstring &  ,
const pair_key_class_t< K > *  keycls,
const pair_value_class_t< V > *  valcls 
)

◆ ebmlPairType() [2/2]

template<typename K, typename V>
ebml::ebmlPairType< K, V >::ebmlPairType ( ebmlID_t  ,
const std::wstring &  ,
const pair_key_class_t< K > *  keycls,
const pair_value_class_t< V > *  valcls 
)

Member Function Documentation

◆ keycls()

template<typename K, typename V>
const pair_key_class_t<K>& ebml::ebmlPairType< K, V >::keycls ( ) const

◆ valcls()

template<typename K, typename V>
const pair_value_class_t<V>& ebml::ebmlPairType< K, V >::valcls ( ) const

Friends And Related Function Documentation

◆ ebmlPair< K, V >

template<typename K, typename V>
friend class ebmlPair< K, V >
friend

Member Data Documentation

◆ _valueSpec

template<typename K, typename V>
childTypeSpec_t ebml::ebmlPairType< K, V >::_valueSpec
protected

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