OpenSceneGraph
Public Types | Public Member Functions | Friends | List of all members
osg::MixinVector< ValueT > Class Template Reference

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...

Inheritance diagram for osg::MixinVector< ValueT >:
Inheritance graph
[legend]

Public Types

typedef vector_type::allocator_type allocator_type
 
typedef vector_type::value_type value_type
 
typedef vector_type::const_pointer const_pointer
 
typedef vector_type::pointer pointer
 
typedef vector_type::const_reference const_reference
 
typedef vector_type::reference reference
 
typedef vector_type::const_iterator const_iterator
 
typedef vector_type::iterator iterator
 
typedef vector_type::const_reverse_iterator const_reverse_iterator
 
typedef vector_type::reverse_iterator reverse_iterator
 
typedef vector_type::size_type size_type
 
typedef vector_type::difference_type difference_type
 

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)
 
MixinVectoroperator= (const vector_type &other)
 
MixinVectoroperator= (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)
 

Detailed Description

template<class ValueT>
class osg::MixinVector< ValueT >

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.

Author
Neil Groves

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