libebml_ng
Public Member Functions | Protected Member Functions | List of all members
ebml::ebmlSchema Class Reference

#include <ebmlSchema.h>

Public Member Functions

 ebmlSchema (const std::string &, unsigned long, const ebmlElementType *, const range_t &maxIDLength, const range_t &maxSizeLength)
 
template<typename T = int>
ebmlDocument_sp open (const std::string &, bool write=false) const
 
template<typename T = int>
ebmlDocument_sp create (const std::string &, size_t initSize) const
 
template<typename T = int>
ebmlDocument_sp create (const std::string &, size_t initSize, unsigned long maxIDLength, unsigned long maxSizeLength) const
 
const ebmlElementType *const & rootcls () const
 
const std::string & docType () const
 
const range_tmaxIDLength () const
 
const range_tmaxSizeLength () const
 
unsigned long docTypeVersion () const
 
const ebmlElementTypegetElementType (ebmlID_t ebmlID) const
 
const ebmlElementTypegetElementType (const std::wstring &name) const
 

Protected Member Functions

virtual ebmlDocument_new (const ioBase_sp &) const
 
virtual ebmlDocument_new (ioBase_sp &&) const
 

Constructor & Destructor Documentation

◆ ebmlSchema()

ebml::ebmlSchema::ebmlSchema ( const std::string &  docType,
unsigned long  docTypeVersion,
const ebmlElementType rootcls,
const range_t maxIDLength,
const range_t maxSizeLength 
)

Member Function Documentation

◆ _new() [1/2]

ebmlDocument * ebml::ebmlSchema::_new ( const ioBase_sp file) const
protectedvirtual

◆ _new() [2/2]

ebmlDocument * ebml::ebmlSchema::_new ( ioBase_sp &&  file) const
protectedvirtual

◆ create() [1/2]

template<typename T >
ebmlDocument_sp ebml::ebmlSchema::create ( const std::string &  filename,
size_t  initSize 
) const

◆ create() [2/2]

template<typename T >
ebmlDocument_sp ebml::ebmlSchema::create ( const std::string &  filename,
size_t  initSize,
unsigned long  maxIDLength,
unsigned long  maxSizeLength 
) const

◆ docType()

const std::string& ebml::ebmlSchema::docType ( ) const

◆ docTypeVersion()

unsigned long ebml::ebmlSchema::docTypeVersion ( ) const

◆ getElementType() [1/2]

const ebmlElementType& ebml::ebmlSchema::getElementType ( ebmlID_t  ebmlID) const

◆ getElementType() [2/2]

const ebmlElementType& ebml::ebmlSchema::getElementType ( const std::wstring &  name) const

◆ maxIDLength()

const range_t& ebml::ebmlSchema::maxIDLength ( ) const

◆ maxSizeLength()

const range_t& ebml::ebmlSchema::maxSizeLength ( ) const

◆ open()

template<typename T >
template ebmlDocument_sp ebml::ebmlSchema::open< FILE *> ( const std::string &  ,
bool  write = false 
) const

◆ rootcls()

const ebmlElementType* const& ebml::ebmlSchema::rootcls ( ) const

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