OpenSceneGraph
|
MixinVector is a base class that allows inheritance to be used to easily emulate derivation from std::vector but without introducing undefined behaviour through violation of virtual destructor rules. More...
Public Member Functions | |
MixinVector (size_type initial_size, const value_type &fill_value=value_type()) | |
template<class InputIterator > | |
MixinVector (InputIterator first, InputIterator last) | |
MixinVector (const vector_type &other) | |
MixinVector (const MixinVector &other) | |
MixinVector & | operator= (const vector_type &other) |
MixinVector & | operator= (const MixinVector &other) |
void | clear () |
void | resize (size_type new_size, const value_type &fill_value=value_type()) |
void | reserve (size_type new_capacity) |
void | swap (vector_type &other) |
void | swap (MixinVector &other) |
bool | empty () const |
size_type | size () const |
size_type | capacity () const |
size_type | max_size () const |
allocator_type | get_allocator () const |
const_iterator | begin () const |
iterator | begin () |
const_iterator | end () const |
iterator | end () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rend () const |
reverse_iterator | rend () |
const_reference | operator[] (size_type index) const |
reference | operator[] (size_type index) |
const_reference | at (size_type index) const |
reference | at (size_type index) |
void | assign (size_type count, const value_type &value) |
template<class Iter > | |
void | assign (Iter first, Iter last) |
void | push_back (const value_type &value) |
void | pop_back () |
iterator | erase (iterator where) |
iterator | erase (iterator first, iterator last) |
iterator | insert (iterator where, const value_type &value) |
template<class InputIterator > | |
void | insert (iterator where, InputIterator first, InputIterator last) |
void | insert (iterator where, size_type count, const value_type &value) |
const_reference | back () const |
reference | back () |
const_reference | front () const |
reference | front () |
vector_type & | asVector () |
const vector_type & | asVector () const |
Friends | |
bool | operator== (const MixinVector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator== (const MixinVector< ValueT > &left, const std::vector< ValueT > &right) |
bool | operator== (const std::vector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator!= (const MixinVector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator!= (const MixinVector< ValueT > &left, const std::vector< ValueT > &right) |
bool | operator!= (const std::vector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator< (const MixinVector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator< (const MixinVector< ValueT > &left, const std::vector< ValueT > &right) |
bool | operator< (const std::vector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator> (const MixinVector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator> (const MixinVector< ValueT > &left, const std::vector< ValueT > &right) |
bool | operator> (const std::vector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator<= (const MixinVector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator<= (const MixinVector< ValueT > &left, const std::vector< ValueT > &right) |
bool | operator<= (const std::vector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator>= (const MixinVector< ValueT > &left, const MixinVector< ValueT > &right) |
bool | operator>= (const MixinVector< ValueT > &left, const std::vector< ValueT > &right) |
bool | operator>= (const std::vector< ValueT > &left, const MixinVector< ValueT > &right) |
MixinVector is a base class that allows inheritance to be used to easily emulate derivation from std::vector but without introducing undefined behaviour through violation of virtual destructor rules.