libebml_ng
Classes | Namespaces | Macros | Typedefs
ebmlPair.h File Reference
#include <unordered_map>
#include <vector>
#include <exception>
#include "base/childSlot_t.h"
#include "../ptrs.h"
#include "../ebmlDataElement.h"
#include "../ebmlElement.h"

Go to the source code of this file.

Classes

class  ebml::ebmlPair< K, V >
 
class  ebml::ebmlMap< K, V, H, E, A, B >
 
class  ebml::ebmlPairType< K, V >
 A template class representing a key-value pair. More...
 
class  ebml::ebmlPair< K, V >
 
class  ebml::ebmlPair< K, V >::_iterator
 
class  ebml::ebmlPair< K, V >::_const_iterator
 

Namespaces

 ebml
 

Macros

#define IS_EBML_TYPE(V)   std::is_class<V>::value && std::is_base_of<ebmlElement, V>::value
 

Typedefs

template<typename K , typename V >
using ebml::ebmlPair_sp = ebml::ptr< ebmlPair< K, V > >
 
template<typename K , typename V >
using ebml::c_ebmlPair_sp = ebml::ptr< const ebmlPair< K, V > >
 
template<typename K >
using ebml::pair_key_class_t = ebmlDataType< K >
 
template<typename K >
using ebml::pair_key_inst_t = ebmlDataElement< K >
 
template<typename V >
using ebml::pair_value_class_t = std::conditional_t< std::is_class< V >::value &&std::is_base_of< ebmlElement, V >::value, ebmlElementType, ebmlDataType< V > >
 
template<typename V >
using ebml::pair_value_inst_t = std::conditional_t< std::is_class< V >::value &&std::is_base_of< ebmlElement, V >::value, V, ebmlDataElement< V > >
 
template<typename V >
using ebml::pair_value_inst_sp = ebml::ptr< pair_value_inst_t< V > >
 
template<typename V >
using ebml::pair_value_t = std::conditional_t< std::is_class< V >::value &&std::is_base_of< ebmlElement, V >::value, ebml::ptr< V >, V >
 
template<typename V >
using ebml::pair_value_slot_t = std::conditional_t< std::is_class< V >::value &&std::is_base_of< ebmlElement, V >::value, childSlot_t< V >, V & >
 
template<typename V >
using ebml::pair_const_value_t = std::conditional_t< std::is_class< V >::value &&std::is_base_of< ebmlElement, V >::value, ebml::ptr< const V >, const V & >
 

Macro Definition Documentation

◆ IS_EBML_TYPE

#define IS_EBML_TYPE (   V)    std::is_class<V>::value && std::is_base_of<ebmlElement, V>::value