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

Go to the source code of this file.

Classes

class  ebml::ebmlMapType< K, V, H, E, A, B >
 A template class representing a map-like EBML element type. More...
 
class  ebml::ebmlMap< K, V, H, E, A, B >
 
class  ebml::ebmlMap< K, V, H, E, A, B >::_iterator
 
class  ebml::ebmlMap< K, V, H, E, A, B >::_const_iterator
 

Namespaces

 ebml
 

Macros

#define EXTERN_MAP_TYPE(KEYTYPE)
 
#define EXTERN_DATAMAP_TYPE(KEYTYPE, VALTYPE)
 
#define INST_MAP_TYPE(KEYTYPE)
 
#define INST_DATAMAP_TYPE(KEYTYPE, VALTYPE)
 
#define EXTERN_MAP_TYPE_EXT(KEYTYPE, ...)
 
#define INST_MAP_TYPE_EXT(KEYTYPE, ...)
 

Typedefs

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, ebml::ptr<ebmlPair<const K, V>>>>>
using ebml::ebmlMapData = std::unordered_map< K, ebml::ptr< ebmlPair< const K, V > >, H, E, A >
 
template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<K>, typename B = std::allocator<std::pair<const K, pair_value_t<V>>>>
using ebml::ebmlMapArgs = std::unordered_map< K, pair_value_t< V >, H, E, B >
 

Macro Definition Documentation

◆ EXTERN_DATAMAP_TYPE

#define EXTERN_DATAMAP_TYPE (   KEYTYPE,
  VALTYPE 
)
Value:
extern template class ebml::ebmlPair<const KEYTYPE, VALTYPE>; \
extern template class ebml::ebmlMapType<KEYTYPE, VALTYPE>; \
extern template class ebml::ebmlMap<KEYTYPE, VALTYPE>
Definition: ebmlMap.h:67
Definition: ebmlPair.h:18
A template class representing a key-value pair.
Definition: ebmlPair.h:76
A template class representing a map-like EBML element type.
Definition: ebmlMap.h:37

◆ EXTERN_MAP_TYPE

#define EXTERN_MAP_TYPE (   KEYTYPE)
Value:
extern template class ebml::ebmlPairType<const KEYTYPE>; \
extern template class ebml::ebmlPair<const KEYTYPE>; \
extern template class ebml::ebmlMapType<KEYTYPE>; \
extern template class ebml::ebmlMap<KEYTYPE>
Definition: ebmlMap.h:67
Definition: ebmlPair.h:18
A template class representing a key-value pair.
Definition: ebmlPair.h:76
A template class representing a map-like EBML element type.
Definition: ebmlMap.h:37

◆ EXTERN_MAP_TYPE_EXT

#define EXTERN_MAP_TYPE_EXT (   KEYTYPE,
  ... 
)
Value:
extern template class ebml::ebmlPairType<const KEYTYPE>; \
extern template class ebml::ebmlPair<const KEYTYPE>; \
Definition: ebmlMap.h:67
Definition: ebmlPair.h:18
A template class representing a key-value pair.
Definition: ebmlPair.h:76
A template class representing a map-like EBML element type.
Definition: ebmlMap.h:37

◆ INST_DATAMAP_TYPE

#define INST_DATAMAP_TYPE (   KEYTYPE,
  VALTYPE 
)
Value:
Definition: ebmlMap.h:67
Definition: ebmlPair.h:18
A template class representing a key-value pair.
Definition: ebmlPair.h:76
A template class representing a map-like EBML element type.
Definition: ebmlMap.h:37

◆ INST_MAP_TYPE

#define INST_MAP_TYPE (   KEYTYPE)
Value:
template class ebml::ebmlMapType<KEYTYPE>; \
template class ebml::ebmlMap<KEYTYPE>
Definition: ebmlMap.h:67
Definition: ebmlPair.h:18
A template class representing a key-value pair.
Definition: ebmlPair.h:76
A template class representing a map-like EBML element type.
Definition: ebmlMap.h:37

◆ INST_MAP_TYPE_EXT

#define INST_MAP_TYPE_EXT (   KEYTYPE,
  ... 
)
Value:
Definition: ebmlMap.h:67
Definition: ebmlPair.h:18
A template class representing a key-value pair.
Definition: ebmlPair.h:76
A template class representing a map-like EBML element type.
Definition: ebmlMap.h:37