1 #ifndef EBML_NG_MASTERELEMENT_LIST_H 2 #define EBML_NG_MASTERELEMENT_LIST_H 5 #include <unordered_map> 43 std::vector<ebmlElement_sp> _data;
59 std::wstring
minirepr()
const override;
64 template<
typename T=ebmlElement>
67 template<
typename T=ebmlElement>
70 template<
typename T=ebmlElement>
100 std::vector<ebmlElement_sp>::iterator _iter;
128 std::vector<ebmlElement_sp>::const_iterator _iter;
void insert(off_t, const ebmlElement_sp &)
Definition: ebmlList.cpp:204
Structure representing occurrence specifications.
Definition: childTypeSpec.h:49
ebmlElement & operator*() const
Definition: ebmlList.cpp:265
std::wstring minirepr() const override
Definition: ebmlList.cpp:129
Definition: ebmlMasterElement.h:292
std::list< childTypeSpecArg_t > childTypeSpecArg_l
Alias for a list of child type specification arguments.
Definition: childTypeSpec.h:39
ebmlMasterElement::_iterator * _begin() override
Definition: ebmlList.cpp:239
void push_back(const ebmlElement_sp &)
Definition: ebmlList.cpp:221
void _validateData(const ebmlElement_l &)
Definition: ebmlList.cpp:80
_const_iterator()
Definition: ebmlList.cpp:303
ebmlMasterElement::_iterator & operator=(const ebmlMasterElement::_iterator &)
Definition: ebmlList.cpp:274
Abstract base class for EBML master element instances.This class provides the functionality to manage...
Definition: ebmlMasterElement.h:19
Definition: ebmlMasterElement.h:269
ebmlList(const ebmlListType *)
Definition: ebmlList.cpp:77
void _addChild(const ebmlElement_sp &) override
Attaches a child element (rvalue version).
Definition: ebmlList.cpp:231
bool operator!=(const ebmlMasterElement::_iterator &) const
Definition: ebmlList.cpp:292
size_t size() const
Definition: ebmlList.cpp:153
void _clear() override
Clears all child elements.
Definition: ebmlList.cpp:157
ebmlListType class_t
Definition: ebmlList.h:41
_iterator()
Definition: ebmlList.cpp:258
void _setData(const ebmlElement_l &)
Definition: ebmlList.cpp:99
virtual ~_const_iterator()
Definition: ebmlList.cpp:304
friend class ebmlListClass
Definition: ebmlList.h:155
Definition: basictypes.h:40
A drop-in replacement for std::shared_ptr tailored for EBML objects.
Definition: ptrs.h:27
bool operator==(const ebmlMasterElement::_const_iterator &) const
Definition: ebmlList.cpp:330
Definition: ebmlMasterElement.h:342
bool operator==(const ebmlMasterElement::_iterator &) const
Definition: ebmlList.cpp:284
ebmlMasterElement::_const_iterator & operator++()
Definition: ebmlList.cpp:315
Definition: ebmlMasterElement.h:324
childSlot_t< T > front()
Definition: ebmlList.cpp:195
Definition: ebmlList.h:97
uint64_t ebmlID_t
Definition: ebmlID_t.h:7
childSlot_t< T > at(off_t)
Definition: ebmlList.cpp:170
ebmlMasterElement::_const_iterator * _cbegin() const override
Definition: ebmlList.cpp:247
ebmlListType(const char *, const std::wstring &, const occurSpec_t &recursive={0, 0})
Definition: ebmlList.cpp:12
ebmlMasterElement::_iterator * _end() override
Definition: ebmlList.cpp:243
ebmlMasterElement::_const_iterator * _cend() const override
Definition: ebmlList.cpp:251
Definition: ebmlList.h:125
childSlot_t< T > back()
Definition: ebmlList.cpp:200
const ebmlElement & operator*() const
Definition: ebmlList.cpp:311
ebmlMasterElement::_const_iterator * copy() const
Definition: ebmlList.cpp:307
Represents the base type for all EBML master elements.
Definition: ebmlMasterElementType.h:57
Abstract base class for EBML Element instances.
Definition: ebmlElement.h:79
Represents a list-like EBML master element.
Definition: ebmlList.h:25
CRTP template for EBML Element instances.
Definition: ebmlElement.h:320
childSlot_t operator[](off_t)
Definition: ebmlList.cpp:165
Definition: ebmlList.h:37
bool contains(const c_ebmlElement_sp &) const
bool operator!=(const ebmlMasterElement::_const_iterator &) const
Definition: ebmlList.cpp:337
ebmlMasterElement::_iterator & operator++()
Definition: ebmlList.cpp:269
ebmlMasterElement::_const_iterator & operator=(const ebmlMasterElement::_const_iterator &)
Definition: ebmlList.cpp:320
void erase(off_t)
Definition: ebmlList.cpp:212
virtual ~_iterator()
Definition: ebmlList.cpp:259
std::vector< ebmlElement_sp > ebmlElement_l
Definition: c_ebmlElement_l.h:9
off_t index(const c_ebmlElement_sp &) const
void setData(const ebmlElement_l &)
Definition: ebmlList.cpp:107
ebmlMasterElement::_iterator * copy() const
Definition: ebmlList.cpp:261
CRTP template for EBML Element Type objects.
Definition: ebmlElementType.h:454
std::initializer_list< childTypeSpecArg_t > childClassSpecArg_init_l
Alias for an initializer list of child type specification arguments.
Definition: childTypeSpec.h:44
A templated helper class managing a child slot within an EBML master element.
Definition: childSlot_t.h:22