libebml_ng
Public Member Functions | Public Attributes | List of all members
ebml::seekHelperByEBMLID< K, H, E, A > Class Template Referenceabstract

Templated helper class for EBML elements that search for key data within child elements. More...

#include <seekdata.h>

Inheritance diagram for ebml::seekHelperByEBMLID< K, H, E, A >:
ebml::seekHelper_t ebml::ebmlLazyLoadSeekHelper< K, H, E, A >

Public Member Functions

 seekHelperByEBMLID (ebmlID_t ebmlID)
 
seekMap< K, H, E, A > * initSeekMap () const
 
seekData_tmakeSeekData (const parseString &parsed) const
 
seekData_tmakeSeekData (const parseFile &parsed) const
 
seekData_tmakeSeekData (ebmlElement &elem) const =0
 
seekData_tmakeSeekData (const ebmlElement &elem) const =0
 
- Public Member Functions inherited from ebml::seekHelper_t
 seekHelper_t ()
 
seekMapBaseinitSeekMap () const
 

Public Attributes

ebmlID_t ebmlID
 

Detailed Description

template<typename K, typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, seekDataWithKey_t<K>*>>>
class ebml::seekHelperByEBMLID< K, H, E, A >

Templated helper class for EBML elements that search for key data within child elements.

Specializes the seekHelper_t by focusing on a child element with a specific EBML ID. When parsing, it iterates over child elements to find one with the matching EBML ID, unpacks the key (of type K), and returns a seekDataWithKey_t<K> instance.

Template Parameters
KThe key type.
HHash functor for key.
EEquality comparison functor for key.
AAllocator for key-data pairs.

Constructor & Destructor Documentation

◆ seekHelperByEBMLID()

template<typename K , typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, seekDataWithKey_t<K>*>>>
ebml::seekHelperByEBMLID< K, H, E, A >::seekHelperByEBMLID ( ebmlID_t  ebmlID)

Member Function Documentation

◆ initSeekMap()

template<typename K , typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, seekDataWithKey_t<K>*>>>
seekMap<K, H, E, A>* ebml::seekHelperByEBMLID< K, H, E, A >::initSeekMap ( ) const

◆ makeSeekData() [1/4]

template<typename K , typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, seekDataWithKey_t<K>*>>>
seekData_t* ebml::seekHelperByEBMLID< K, H, E, A >::makeSeekData ( const parseString parsed) const
virtual

Reimplemented from ebml::seekHelper_t.

◆ makeSeekData() [2/4]

template<typename K , typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, seekDataWithKey_t<K>*>>>
seekData_t* ebml::seekHelperByEBMLID< K, H, E, A >::makeSeekData ( const parseFile parsed) const
virtual

Reimplemented from ebml::seekHelper_t.

◆ makeSeekData() [3/4]

template<typename K , typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, seekDataWithKey_t<K>*>>>
seekData_t* ebml::seekHelperByEBMLID< K, H, E, A >::makeSeekData ( ebmlElement elem) const
pure virtual

◆ makeSeekData() [4/4]

template<typename K , typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, seekDataWithKey_t<K>*>>>
seekData_t* ebml::seekHelperByEBMLID< K, H, E, A >::makeSeekData ( const ebmlElement elem) const
pure virtual

Member Data Documentation

◆ ebmlID

template<typename K , typename H = std::hash<K>, typename E = std::equal_to<K>, typename A = std::allocator<std::pair<const K, seekDataWithKey_t<K>*>>>
ebmlID_t ebml::seekHelperByEBMLID< K, H, E, A >::ebmlID

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