libebml_ng
c_ebmlElement_l.h
Go to the documentation of this file.
1 #ifndef EBML_NG_MASTERELEMENT_C_EBMLELEMENT_L_H
2 #define EBML_NG_MASTERELEMENT_C_EBMLELEMENT_L_H
3 
4 #include "../../ebmlElement.h"
5 
6 #include <vector>
7 
8 namespace ebml {
9  typedef std::vector<ebmlElement_sp> ebmlElement_l;
10 
17  private:
18  const ebmlElement_l* _items;
19 
20  public:
22  c_ebmlElement_l(const c_ebmlElement_l&) = default;
23 
24  const ebmlElement& front() const;
25  const ebmlElement& back() const;
26  const ebmlElement& at(size_t) const;
27  const ebmlElement& operator[](size_t) const;
28 
29  size_t size() const;
30  bool empty() const;
31 
33  private:
34  ebmlElement_l::const_iterator _iter;
35 
36  protected:
37  const_iterator(const ebmlElement_l::const_iterator&);
38  const_iterator(ebmlElement_l::const_iterator&&);
39 
40  public:
44 
45  bool operator=(const const_iterator&);
46  bool operator=(const_iterator&&);
47 
48  const ebmlElement& operator*() const;
49 
50  const ebmlElement* operator->() const;
53  bool operator==(const const_iterator&) const;
54  bool operator!=(const const_iterator&) const;
55  };
56 
57  const_iterator cbegin() const;
58  const_iterator cend() const;
59  };
60 }
61 #endif
const_iterator(const ebmlElement_l::const_iterator &)
size_t size() const
bool operator=(const const_iterator &)
bool operator==(const const_iterator &) const
bool operator!=(const const_iterator &) const
c_ebmlElement_l(const ebmlElement_l &)
Definition: c_ebmlElement_l.cpp:7
Definition: basictypes.h:40
const ebmlElement & back() const
Definition: c_ebmlElement_l.h:32
const ebmlElement & front() const
Read-only list wrapper for EBML element shared pointers.
Definition: c_ebmlElement_l.h:16
const ebmlElement & at(size_t) const
const ebmlElement & operator[](size_t) const
const ebmlElement * operator->() const
Abstract base class for EBML Element instances.
Definition: ebmlElement.h:79
const_iterator cend() const
std::vector< ebmlElement_sp > ebmlElement_l
Definition: c_ebmlElement_l.h:9
const_iterator cbegin() const
const ebmlElement & operator*() const