OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Friends | List of all members
osg::MixinVector< ValueT > Class Template Reference

#include <MixinVector.h>

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 ()
 
 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)
 
virtual ~MixinVector ()
 
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

Definition at line 28 of file MixinVector.h.

Member Typedef Documentation

template<class ValueT>
typedef vector_type::allocator_type osg::MixinVector< ValueT >::allocator_type

Definition at line 32 of file MixinVector.h.

template<class ValueT>
typedef vector_type::const_iterator osg::MixinVector< ValueT >::const_iterator

Definition at line 38 of file MixinVector.h.

template<class ValueT>
typedef vector_type::const_pointer osg::MixinVector< ValueT >::const_pointer

Definition at line 34 of file MixinVector.h.

template<class ValueT>
typedef vector_type::const_reference osg::MixinVector< ValueT >::const_reference

Definition at line 36 of file MixinVector.h.

template<class ValueT>
typedef vector_type::const_reverse_iterator osg::MixinVector< ValueT >::const_reverse_iterator

Definition at line 40 of file MixinVector.h.

template<class ValueT>
typedef vector_type::difference_type osg::MixinVector< ValueT >::difference_type

Definition at line 43 of file MixinVector.h.

template<class ValueT>
typedef vector_type::iterator osg::MixinVector< ValueT >::iterator

Definition at line 39 of file MixinVector.h.

template<class ValueT>
typedef vector_type::pointer osg::MixinVector< ValueT >::pointer

Definition at line 35 of file MixinVector.h.

template<class ValueT>
typedef vector_type::reference osg::MixinVector< ValueT >::reference

Definition at line 37 of file MixinVector.h.

template<class ValueT>
typedef vector_type::reverse_iterator osg::MixinVector< ValueT >::reverse_iterator

Definition at line 41 of file MixinVector.h.

template<class ValueT>
typedef vector_type::size_type osg::MixinVector< ValueT >::size_type

Definition at line 42 of file MixinVector.h.

template<class ValueT>
typedef vector_type::value_type osg::MixinVector< ValueT >::value_type

Definition at line 33 of file MixinVector.h.

Constructor & Destructor Documentation

template<class ValueT>
osg::MixinVector< ValueT >::MixinVector ( )
inlineexplicit

Definition at line 45 of file MixinVector.h.

template<class ValueT>
osg::MixinVector< ValueT >::MixinVector ( size_type  initial_size,
const value_type fill_value = value_type() 
)
inlineexplicit

Definition at line 49 of file MixinVector.h.

template<class ValueT>
template<class InputIterator >
osg::MixinVector< ValueT >::MixinVector ( InputIterator  first,
InputIterator  last 
)
inline

Definition at line 55 of file MixinVector.h.

template<class ValueT>
osg::MixinVector< ValueT >::MixinVector ( const vector_type &  other)
inline

Definition at line 60 of file MixinVector.h.

template<class ValueT>
osg::MixinVector< ValueT >::MixinVector ( const MixinVector< ValueT > &  other)
inline

Definition at line 65 of file MixinVector.h.

template<class ValueT>
virtual osg::MixinVector< ValueT >::~MixinVector ( )
inlinevirtual

Definition at line 82 of file MixinVector.h.

Member Function Documentation

template<class ValueT>
void osg::MixinVector< ValueT >::assign ( size_type  count,
const value_type value 
)
inline

Definition at line 113 of file MixinVector.h.

template<class ValueT>
template<class Iter >
void osg::MixinVector< ValueT >::assign ( Iter  first,
Iter  last 
)
inline

Definition at line 115 of file MixinVector.h.

template<class ValueT>
vector_type& osg::MixinVector< ValueT >::asVector ( )
inline

Definition at line 141 of file MixinVector.h.

Here is the caller graph for this function:

template<class ValueT>
const vector_type& osg::MixinVector< ValueT >::asVector ( ) const
inline

Definition at line 142 of file MixinVector.h.

template<class ValueT>
const_reference osg::MixinVector< ValueT >::at ( size_type  index) const
inline

Definition at line 110 of file MixinVector.h.

template<class ValueT>
reference osg::MixinVector< ValueT >::at ( size_type  index)
inline

Definition at line 111 of file MixinVector.h.

template<class ValueT>
const_reference osg::MixinVector< ValueT >::back ( ) const
inline

Definition at line 136 of file MixinVector.h.

template<class ValueT>
reference osg::MixinVector< ValueT >::back ( )
inline

Definition at line 137 of file MixinVector.h.

template<class ValueT>
const_iterator osg::MixinVector< ValueT >::begin ( ) const
inline

Definition at line 97 of file MixinVector.h.

Here is the caller graph for this function:

template<class ValueT>
iterator osg::MixinVector< ValueT >::begin ( )
inline

Definition at line 98 of file MixinVector.h.

template<class ValueT>
size_type osg::MixinVector< ValueT >::capacity ( ) const
inline

Definition at line 93 of file MixinVector.h.

template<class ValueT>
void osg::MixinVector< ValueT >::clear ( )
inline

Definition at line 84 of file MixinVector.h.

template<class ValueT>
bool osg::MixinVector< ValueT >::empty ( ) const
inline

Definition at line 91 of file MixinVector.h.

Here is the caller graph for this function:

template<class ValueT>
const_iterator osg::MixinVector< ValueT >::end ( ) const
inline

Definition at line 99 of file MixinVector.h.

Here is the caller graph for this function:

template<class ValueT>
iterator osg::MixinVector< ValueT >::end ( )
inline

Definition at line 100 of file MixinVector.h.

template<class ValueT>
iterator osg::MixinVector< ValueT >::erase ( iterator  where)
inline

Definition at line 120 of file MixinVector.h.

template<class ValueT>
iterator osg::MixinVector< ValueT >::erase ( iterator  first,
iterator  last 
)
inline

Definition at line 121 of file MixinVector.h.

template<class ValueT>
const_reference osg::MixinVector< ValueT >::front ( ) const
inline

Definition at line 138 of file MixinVector.h.

Here is the caller graph for this function:

template<class ValueT>
reference osg::MixinVector< ValueT >::front ( )
inline

Definition at line 139 of file MixinVector.h.

template<class ValueT>
allocator_type osg::MixinVector< ValueT >::get_allocator ( ) const
inline

Definition at line 95 of file MixinVector.h.

template<class ValueT>
iterator osg::MixinVector< ValueT >::insert ( iterator  where,
const value_type value 
)
inline

Definition at line 123 of file MixinVector.h.

template<class ValueT>
template<class InputIterator >
void osg::MixinVector< ValueT >::insert ( iterator  where,
InputIterator  first,
InputIterator  last 
)
inline

Definition at line 126 of file MixinVector.h.

template<class ValueT>
void osg::MixinVector< ValueT >::insert ( iterator  where,
size_type  count,
const value_type value 
)
inline

Definition at line 131 of file MixinVector.h.

template<class ValueT>
size_type osg::MixinVector< ValueT >::max_size ( ) const
inline

Definition at line 94 of file MixinVector.h.

template<class ValueT>
MixinVector& osg::MixinVector< ValueT >::operator= ( const vector_type &  other)
inline

Definition at line 70 of file MixinVector.h.

template<class ValueT>
MixinVector& osg::MixinVector< ValueT >::operator= ( const MixinVector< ValueT > &  other)
inline

Definition at line 76 of file MixinVector.h.

template<class ValueT>
const_reference osg::MixinVector< ValueT >::operator[] ( size_type  index) const
inline

Definition at line 107 of file MixinVector.h.

template<class ValueT>
reference osg::MixinVector< ValueT >::operator[] ( size_type  index)
inline

Definition at line 108 of file MixinVector.h.

template<class ValueT>
void osg::MixinVector< ValueT >::pop_back ( )
inline

Definition at line 118 of file MixinVector.h.

template<class ValueT>
void osg::MixinVector< ValueT >::push_back ( const value_type value)
inline

Definition at line 117 of file MixinVector.h.

template<class ValueT>
const_reverse_iterator osg::MixinVector< ValueT >::rbegin ( ) const
inline

Definition at line 102 of file MixinVector.h.

template<class ValueT>
reverse_iterator osg::MixinVector< ValueT >::rbegin ( )
inline

Definition at line 103 of file MixinVector.h.

template<class ValueT>
const_reverse_iterator osg::MixinVector< ValueT >::rend ( ) const
inline

Definition at line 104 of file MixinVector.h.

template<class ValueT>
reverse_iterator osg::MixinVector< ValueT >::rend ( )
inline

Definition at line 105 of file MixinVector.h.

template<class ValueT>
void osg::MixinVector< ValueT >::reserve ( size_type  new_capacity)
inline

Definition at line 86 of file MixinVector.h.

template<class ValueT>
void osg::MixinVector< ValueT >::resize ( size_type  new_size,
const value_type fill_value = value_type() 
)
inline

Definition at line 85 of file MixinVector.h.

template<class ValueT>
size_type osg::MixinVector< ValueT >::size ( ) const
inline

Definition at line 92 of file MixinVector.h.

Here is the caller graph for this function:

template<class ValueT>
void osg::MixinVector< ValueT >::swap ( vector_type &  other)
inline

Definition at line 88 of file MixinVector.h.

Here is the caller graph for this function:

template<class ValueT>
void osg::MixinVector< ValueT >::swap ( MixinVector< ValueT > &  other)
inline

Definition at line 89 of file MixinVector.h.

Friends And Related Function Documentation

template<class ValueT>
bool operator!= ( const MixinVector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 148 of file MixinVector.h.

template<class ValueT>
bool operator!= ( const MixinVector< ValueT > &  left,
const std::vector< ValueT > &  right 
)
friend

Definition at line 149 of file MixinVector.h.

template<class ValueT>
bool operator!= ( const std::vector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 150 of file MixinVector.h.

template<class ValueT>
bool operator< ( const MixinVector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 152 of file MixinVector.h.

template<class ValueT>
bool operator< ( const MixinVector< ValueT > &  left,
const std::vector< ValueT > &  right 
)
friend

Definition at line 153 of file MixinVector.h.

template<class ValueT>
bool operator< ( const std::vector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 154 of file MixinVector.h.

template<class ValueT>
bool operator<= ( const MixinVector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 160 of file MixinVector.h.

template<class ValueT>
bool operator<= ( const MixinVector< ValueT > &  left,
const std::vector< ValueT > &  right 
)
friend

Definition at line 161 of file MixinVector.h.

template<class ValueT>
bool operator<= ( const std::vector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 162 of file MixinVector.h.

template<class ValueT>
bool operator== ( const MixinVector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 144 of file MixinVector.h.

template<class ValueT>
bool operator== ( const MixinVector< ValueT > &  left,
const std::vector< ValueT > &  right 
)
friend

Definition at line 145 of file MixinVector.h.

template<class ValueT>
bool operator== ( const std::vector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 146 of file MixinVector.h.

template<class ValueT>
bool operator> ( const MixinVector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 156 of file MixinVector.h.

template<class ValueT>
bool operator> ( const MixinVector< ValueT > &  left,
const std::vector< ValueT > &  right 
)
friend

Definition at line 157 of file MixinVector.h.

template<class ValueT>
bool operator> ( const std::vector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 158 of file MixinVector.h.

template<class ValueT>
bool operator>= ( const MixinVector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 164 of file MixinVector.h.

template<class ValueT>
bool operator>= ( const MixinVector< ValueT > &  left,
const std::vector< ValueT > &  right 
)
friend

Definition at line 165 of file MixinVector.h.

template<class ValueT>
bool operator>= ( const std::vector< ValueT > &  left,
const MixinVector< ValueT > &  right 
)
friend

Definition at line 166 of file MixinVector.h.


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