libebml_ng
Classes | Namespaces | Macros | Typedefs | Functions
ebmlDataElement.h File Reference
#include "ebmlElementType.h"
#include "ebmlElement.h"
#include "ebmlElement.tpp"
#include "struct/ull.h"
#include "struct/ll.h"
#include "struct/double.h"
#include "struct/binary.h"
#include "struct/unicode.h"
#include "struct/datetime.h"
#include "repr.h"

Go to the source code of this file.

Classes

class  ebml::ebmlDataElement< T >
 
class  ebml::ebmlDataType< T >
 Template class for EBML data types. More...
 
class  ebml::ebmlDataElement< T >
 
class  ebml::ebmlDataType< const T >
 
class  ebml::ebmlDataElement< const T >
 

Namespaces

 ebml
 

Macros

#define DECL_DATA_CLS(T)
 
#define DECL_EBML_ALIAS(T, alias)
 
#define INST_EBML_CLS(T, defaultval)
 
#define INST_CONST_EBML_CLS(T, defaultval)
 

Typedefs

template<typename T >
using ebml::ebmlDataElement_sp = std::shared_ptr< ebmlDataElement< T > >
 

Functions

template<typename T >
T & ebml::data (const ebmlElement_sp &elem)
 
template<typename T >
const T & ebml::data (const c_ebmlElement_sp &elem)
 
template std::string & ebml::data< std::string > (const ebmlElement_sp &)
 
template const std::string & ebml::data< std::string > (const c_ebmlElement_sp &)
 
template std::wstring & ebml::data< std::wstring > (const ebmlElement_sp &)
 
template const std::wstring & ebml::data< std::wstring > (const c_ebmlElement_sp &)
 
template ebml::timepoint_tebml::data< ebml::timepoint_t > (const ebmlElement_sp &)
 
template const ebml::timepoint_tebml::data< ebml::timepoint_t > (const c_ebmlElement_sp &)
 

Macro Definition Documentation

◆ DECL_DATA_CLS

#define DECL_DATA_CLS (   T)
Value:
extern template class ebml::ebmlDataType<T>; \
extern template class ebml::ebmlDataElement<T>; \
extern template T& ebml::data<T>(const ebmlElement_sp&); \
extern template const T& ebml::data<T>(const c_ebmlElement_sp&)
ptr< ebmlElement > ebmlElement_sp
Definition: ptrs.h:837
ptr< const ebmlElement > c_ebmlElement_sp
Definition: ptrs.h:843
Definition: ebmlDataElement.h:18
Template class for EBML data types.
Definition: ebmlDataElement.h:42

◆ DECL_EBML_ALIAS

#define DECL_EBML_ALIAS (   T,
  alias 
)
Value:
typedef ::ebml::ebmlDataType<T> alias##Type; \
typedef ::ebml::ebmlDataElement<T> alias;

◆ INST_CONST_EBML_CLS

#define INST_CONST_EBML_CLS (   T,
  defaultval 
)
Value:
template<> \
template class ebml::ebmlDataType<const T>; \
template class ebml::ebmlDataElement<const T>; \
template const T& ebml::data<const T>(const ebml::c_ebmlElement_sp&);
A drop-in replacement for std::shared_ptr tailored for EBML objects.
Definition: ptrs.h:27
Definition: ebmlDataElement.h:18
Template class for EBML data types.
Definition: ebmlDataElement.h:42

◆ INST_EBML_CLS

#define INST_EBML_CLS (   T,
  defaultval 
)
Value:
template<> \
template class ebml::ebmlDataType<T>; \
template class ebml::ebmlDataElement<T>; \
template T& ebml::data<T>(const ebml::ebmlElement_sp&); \
template const T& ebml::data<T>(const ebml::c_ebmlElement_sp&)
A drop-in replacement for std::shared_ptr tailored for EBML objects.
Definition: ptrs.h:27
Definition: ebmlDataElement.h:18
Template class for EBML data types.
Definition: ebmlDataElement.h:42

Function Documentation

◆ ebml::data< ebml::timepoint_t >() [1/2]

template const ebml::timepoint_t& ebml::data< ebml::timepoint_t > ( const c_ebmlElement_sp &  )

◆ ebml::data< ebml::timepoint_t >() [2/2]

template ebml::timepoint_t& ebml::data< ebml::timepoint_t > ( const ebmlElement_sp &  )

◆ ebml::data< std::string >() [1/2]

template std::string& ebml::data< std::string > ( const ebmlElement_sp &  )

◆ ebml::data< std::string >() [2/2]

template const std::string& ebml::data< std::string > ( const c_ebmlElement_sp &  )

◆ ebml::data< std::wstring >() [1/2]

template const std::wstring& ebml::data< std::wstring > ( const c_ebmlElement_sp &  )

◆ ebml::data< std::wstring >() [2/2]

template std::wstring& ebml::data< std::wstring > ( const ebmlElement_sp &  )