libebml_ng
Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
ebml::ebmlDataElement< const T > Class Template Reference

#include <ebmlDataElement.h>

Inheritance diagram for ebml::ebmlDataElement< const T >:
ebml::ebmlElementCRTP< ebmlDataType< const T >, ebmlDataElement< const T > > ebml::ebmlElement

Public Member Functions

virtual size_t dataSize () const
 
ebmlElement_sp clone () const
 
std::wstring minirepr () const
 
- Public Member Functions inherited from ebml::ebmlElementCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >
 ebmlElementCRTP (const ebmlDataType< const T > *cls, Args &&... args)
 
const ebmlDataType< const T > & cls () const
 
ebml::ptr< ebmlDataElement< const T > > sp ()
 
ebml::ptr< const ebmlDataElement< const T > > sp () const
 
ebml::ptr< ebmlElementsp ()
 Returns a shared pointer to the element instance. More...
 
ebml::ptr< const ebmlElementsp () const
 Returns a shared pointer to a const element. More...
 
ebml::ptr< T > sp ()
 
ebml::ptr< T > sp () const
 
ebml::wptr< ebmlDataElement< const T > > wp ()
 
ebml::wptr< const ebmlDataElement< const T > > wp () const
 
ebml::wptr< ebmlElementwp ()
 
ebml::wptr< const ebmlElementwp () const
 
ebml::wptr< T > wp ()
 
ebml::wptr< T > wp () const
 
ebml::ptr< ebmlDataElement< const T > > clone () const
 
- Public Member Functions inherited from ebml::ebmlElement
virtual ~ebmlElement ()
 
ebmlID_t ebmlID () const
 Retrieve the EBML ID of the element. More...
 
template<typename T = ebmlElement>
T & as ()
 Dynamically cast the element to the requested type. More...
 
template<typename T = ebmlElement>
T & as () const
 Const version of the dynamic cast. More...
 
ebml::ptr< ebmlElementsp ()
 Returns a shared pointer to the element instance. More...
 
ebml::ptr< const ebmlElementsp () const
 Returns a shared pointer to a const element. More...
 
template<typename T >
ebml::ptr< T > sp ()
 
template<typename T >
ebml::ptr< T > sp () const
 
ebml::wptr< ebmlElementwp ()
 
ebml::wptr< const ebmlElementwp () const
 
template<typename T >
ebml::wptr< T > wp ()
 
template<typename T >
ebml::wptr< T > wp () const
 
bool parent_is_const () const
 Check if the element's parent is a const object. More...
 
ebml::ptr< ebmlMasterElementparent () const
 Retrieve the parent of this element. More...
 
ebml::ptr< const ebmlMasterElementc_parent () const
 Retrieve a const shared pointer to the parent element. More...
 
ebmlElement_sp root () const
 
c_ebmlElement_sp c_root () const
 
ebmlDocument_sp document () const
 
bool hasParent () const
 
unsigned char headSize () const
 
unsigned char headSize (size_t) const
 
unsigned char sizeWidth () const
 
unsigned char sizeWidth (size_t) const
 
size_t outerSize () const
 
size_t outerSize (size_t) const
 
off_t offsetInParent () const
 
off_t offsetInFile () const
 
off_t dataOffsetInParent () const
 
off_t dataOffsetInFile () const
 
ebml::ptr< ebmlElementclone () const
 
virtual std::wstring repr () const
 
seekData_tmakeSeekData ()
 
seekData_tmakeSeekData () const
 
std::string encode () const
 Encodes the element and returns it as a std::string. More...
 
size_t encode (char *) const
 Encodes the element into a pre-allocated buffer. More...
 
size_t encode (ioBase &) const
 Encodes the element and writes it to a generic I/O stream. More...
 
size_t encode (ioBase &, off_t) const
 Encodes the element and writes it to a specific offset in a stream. More...
 
size_t encode (char *, size_t) const
 Encodes the element using a pre-computed size. More...
 

Public Attributes

data
 

Protected Member Functions

 ebmlDataElement (const ebmlDataType< const T > *, const T &)
 
 ebmlDataElement (const ebmlDataType< const T > *, T &&)
 
 ebmlDataElement (const ebmlDataType< const T > *, const parseString &)
 
 ebmlDataElement (const ebmlDataElement< const T > &)
 
virtual size_t _encode (char *) const
 
void _clonedata (const ebmlElement *)
 
- Protected Member Functions inherited from ebml::ebmlElementCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >
ebmlElement_clone () const
 
- Protected Member Functions inherited from ebml::ebmlElement
 ebmlElement (const ebmlElementType *)
 Protected constructor. More...
 
void _validate ()
 
void _setParent (const ebml::ptr< ebmlMasterElement > &parent, bool weak=true)
 
void _setParent (const ebml::ptr< const ebmlMasterElement > &parent, bool weak=true)
 
void _setParent (ebml::ptr< ebmlMasterElement > &&parent, bool weak=true)
 
void _setParent (ebml::ptr< const ebmlMasterElement > &&parent, bool weak=true)
 
void _setParent (ebmlMasterElement &parent, bool weak=true)
 
void _setParent (const ebmlMasterElement &parent, bool weak=true)
 
void _detach ()
 
size_t _encode_head (char *, size_t) const
 

Friends

class ebmlDataType< const T >
 
class ebmlTypeCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >
 
class ebmlElementCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >
 

Additional Inherited Members

- Public Types inherited from ebml::ebmlElementCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >
using ebmltype = ebmlDataType< const T >
 
- Protected Attributes inherited from ebml::ebmlElement
const ebmlElementType_cls
 Pointer to the companion element type (an ebmlElementClass subclass). More...
 
wptr< ebmlElement_self
 Custom weak pointer to self (used for shared-from-this semantics). More...
 
ebmlDocument_wp _document
 
vintWidth_t _sizeWidth = 0
 
off_t _offsetInParent = -1
 

Constructor & Destructor Documentation

◆ ebmlDataElement() [1/4]

template<typename T >
ebml::ebmlDataElement< const T >::ebmlDataElement ( const ebmlDataType< const T > *  ,
const T &   
)
protected

◆ ebmlDataElement() [2/4]

template<typename T >
ebml::ebmlDataElement< const T >::ebmlDataElement ( const ebmlDataType< const T > *  ,
T &&   
)
protected

◆ ebmlDataElement() [3/4]

template<typename T >
ebml::ebmlDataElement< const T >::ebmlDataElement ( const ebmlDataType< const T > *  ,
const parseString  
)
protected

◆ ebmlDataElement() [4/4]

template<typename T >
ebml::ebmlDataElement< const T >::ebmlDataElement ( const ebmlDataElement< const T > &  )
protected

Member Function Documentation

◆ _clonedata()

template<typename T >
void ebml::ebmlDataElement< const T >::_clonedata ( const ebmlElement )
protected

◆ _encode()

template<typename T >
virtual size_t ebml::ebmlDataElement< const T >::_encode ( char *  ) const
protectedvirtual

Implements ebml::ebmlElement.

◆ clone()

template<typename T >
ebmlElement_sp ebml::ebmlDataElement< const T >::clone ( ) const

◆ dataSize()

template<typename T >
virtual size_t ebml::ebmlDataElement< const T >::dataSize ( ) const
virtual

Implements ebml::ebmlElement.

◆ minirepr()

template<typename T >
std::wstring ebml::ebmlDataElement< const T >::minirepr ( ) const
virtual

Implements ebml::ebmlElement.

Friends And Related Function Documentation

◆ ebmlDataType< const T >

template<typename T >
friend class ebmlDataType< const T >
friend

◆ ebmlElementCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >

template<typename T >
friend class ebmlElementCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >
friend

◆ ebmlTypeCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >

template<typename T >
friend class ebmlTypeCRTP< ebmlDataType< const T >, ebmlDataElement< const T > >
friend

Member Data Documentation

◆ data

template<typename T >
T ebml::ebmlDataElement< const T >::data

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