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...
#include <MixinVector>
Inherited by osg::TemplateArray< GLfloat, Array::FloatArrayType, 1, GL_FLOAT >, osg::TemplateArray< GLdouble, Array::DoubleArrayType, 1, GL_DOUBLE >, osg::TemplateArray< Vec2b, Array::Vec2bArrayType, 2, GL_BYTE >, osg::TemplateArray< Vec3b, Array::Vec3bArrayType, 3, GL_BYTE >, osg::TemplateArray< Vec4b, Array::Vec4bArrayType, 4, GL_BYTE >, osg::TemplateArray< Vec2s, Array::Vec2sArrayType, 2, GL_SHORT >, osg::TemplateArray< Vec3s, Array::Vec3sArrayType, 3, GL_SHORT >, osg::TemplateArray< Vec4s, Array::Vec4sArrayType, 4, GL_SHORT >, osg::TemplateArray< Vec2i, Array::Vec2iArrayType, 2, GL_INT >, osg::TemplateArray< Vec3i, Array::Vec3iArrayType, 3, GL_INT >, osg::TemplateArray< Vec4i, Array::Vec4iArrayType, 4, GL_INT >, osg::TemplateArray< Vec2ub, Array::Vec2ubArrayType, 2, GL_UNSIGNED_BYTE >, osg::TemplateArray< Vec3ub, Array::Vec3ubArrayType, 3, GL_UNSIGNED_BYTE >, osg::TemplateArray< Vec4ub, Array::Vec4ubArrayType, 4, GL_UNSIGNED_BYTE >, osg::TemplateArray< Vec2us, Array::Vec2usArrayType, 2, GL_UNSIGNED_SHORT >, osg::TemplateArray< Vec3us, Array::Vec3usArrayType, 3, GL_UNSIGNED_SHORT >, osg::TemplateArray< Vec4us, Array::Vec4usArrayType, 4, GL_UNSIGNED_SHORT >, osg::TemplateArray< Vec2ui, Array::Vec2uiArrayType, 2, GL_UNSIGNED_INT >, osg::TemplateArray< Vec3ui, Array::Vec3uiArrayType, 3, GL_UNSIGNED_INT >, osg::TemplateArray< Vec4ui, Array::Vec4uiArrayType, 4, GL_UNSIGNED_INT >, osg::TemplateArray< Vec2, Array::Vec2ArrayType, 2, GL_FLOAT >, osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, osg::TemplateArray< Vec2d, Array::Vec2dArrayType, 2, GL_DOUBLE >, osg::TemplateArray< Vec3d, Array::Vec3dArrayType, 3, GL_DOUBLE >, osg::TemplateArray< Vec4d, Array::Vec4dArrayType, 4, GL_DOUBLE >, osg::TemplateArray< Matrixf, Array::MatrixArrayType, 16, GL_FLOAT >, osg::TemplateArray< Matrixd, Array::MatrixdArrayType, 16, GL_DOUBLE >, osg::TemplateArray< Quat, Array::QuatArrayType, 4, GL_DOUBLE >, osg::TemplateIndexArray< GLbyte, Array::ByteArrayType, 1, GL_BYTE >, osg::TemplateIndexArray< GLshort, Array::ShortArrayType, 1, GL_SHORT >, osg::TemplateIndexArray< GLint, Array::IntArrayType, 1, GL_INT >, osg::TemplateIndexArray< GLuint64, Array::UInt64ArrayType, 1, GL_UNSIGNED_INT64_ARB >, osg::TemplateIndexArray< GLint64, Array::Int64ArrayType, 1, GL_INT64_ARB >, osgAnimation::TemplateKeyframeContainer< typename SamplerType::KeyframeType >, osgAnimation::TemplateKeyframeContainer< float >, osgAnimation::TemplateKeyframeContainer< double >, osgAnimation::TemplateKeyframeContainer< osg::Vec2 >, osgAnimation::TemplateKeyframeContainer< osg::Vec3 >, osgAnimation::TemplateKeyframeContainer< osg::Vec3us >, osgAnimation::TemplateKeyframeContainer< osg::Vec4 >, osgAnimation::TemplateKeyframeContainer< osg::Quat >, osgAnimation::TemplateKeyframeContainer< osg::Matrixf >, osgAnimation::TemplateKeyframeContainer< FloatCubicBezier >, osgAnimation::TemplateKeyframeContainer< DoubleCubicBezier >, osgAnimation::TemplateKeyframeContainer< Vec2CubicBezier >, osgAnimation::TemplateKeyframeContainer< Vec3CubicBezier >, osgAnimation::TemplateKeyframeContainer< Vec4CubicBezier >, and osgAnimation::TemplateKeyframeContainer< KeyframeType >.
|
| 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) |
MixinVector & | operator= (const vector_type &other) |
MixinVector & | operator= (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 |
|
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) |
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
◆ allocator_type
◆ const_iterator
◆ const_pointer
◆ const_reference
template<class ValueT>
typedef vector_type::const_reference osg::MixinVector< ValueT >::const_reference |
◆ const_reverse_iterator
template<class ValueT>
typedef vector_type::const_reverse_iterator osg::MixinVector< ValueT >::const_reverse_iterator |
◆ difference_type
template<class ValueT>
typedef vector_type::difference_type osg::MixinVector< ValueT >::difference_type |
◆ iterator
◆ pointer
◆ reference
◆ reverse_iterator
template<class ValueT>
typedef vector_type::reverse_iterator osg::MixinVector< ValueT >::reverse_iterator |
◆ size_type
◆ value_type
◆ MixinVector() [1/5]
Referenced by osg::TemplateArray< GLfloat, Array::FloatArrayType, 1, GL_FLOAT >::TemplateArray(), osg::TemplateArray< GLfloat, Array::FloatArrayType, 1, GL_FLOAT >::TemplateArray(), osg::TemplateArray< GLfloat, Array::FloatArrayType, 1, GL_FLOAT >::TemplateArray(), osg::TemplateArray< GLfloat, Array::FloatArrayType, 1, GL_FLOAT >::TemplateArray(), osg::TemplateArray< GLfloat, Array::FloatArrayType, 1, GL_FLOAT >::TemplateArray(), osg::TemplateArray< GLfloat, Array::FloatArrayType, 1, GL_FLOAT >::TemplateArray(), osg::TemplateIndexArray< GLbyte, Array::ByteArrayType, 1, GL_BYTE >::TemplateIndexArray(), osg::TemplateIndexArray< GLbyte, Array::ByteArrayType, 1, GL_BYTE >::TemplateIndexArray(), osg::TemplateIndexArray< GLbyte, Array::ByteArrayType, 1, GL_BYTE >::TemplateIndexArray(), osg::TemplateIndexArray< GLbyte, Array::ByteArrayType, 1, GL_BYTE >::TemplateIndexArray(), osg::TemplateArray< GLfloat, Array::FloatArrayType, 1, GL_FLOAT >::trim(), and osg::TemplateIndexArray< GLbyte, Array::ByteArrayType, 1, GL_BYTE >::trim().
◆ MixinVector() [2/5]
◆ MixinVector() [3/5]
template<class ValueT>
template<class InputIterator>
osg::MixinVector< ValueT >::MixinVector |
( |
InputIterator | first, |
|
|
InputIterator | last ) |
|
inline |
◆ MixinVector() [4/5]
◆ MixinVector() [5/5]
◆ ~MixinVector()
◆ assign() [1/2]
template<class ValueT>
template<class Iter>
◆ assign() [2/2]
◆ asVector() [1/2]
◆ asVector() [2/2]
◆ at() [1/2]
◆ at() [2/2]
◆ back() [1/2]
◆ back() [2/2]
◆ begin() [1/2]
◆ begin() [2/2]
◆ capacity()
◆ clear()
◆ empty()
Referenced by osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), and osg::ConstAttributeFunctorArrayVisitor::apply().
◆ end() [1/2]
◆ end() [2/2]
◆ erase() [1/2]
◆ erase() [2/2]
◆ front() [1/2]
◆ front() [2/2]
Referenced by osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osgAnimation::TemplateInterpolatorBase< TYPE, KEY >::getKeyIndexFromTime(), osgAnimation::TemplateCubicBezierInterpolator< float, FloatCubicBezier >::getValue(), osgAnimation::TemplateLinearInterpolator< double, double >::getValue(), osgAnimation::TemplateLinearPackedInterpolator< TYPE, KEY >::getValue(), osgAnimation::TemplateSphericalLinearInterpolator< osg::Quat, osg::Quat >::getValue(), and osgAnimation::TemplateStepInterpolator< double, double >::getValue().
◆ get_allocator()
◆ insert() [1/3]
◆ insert() [2/3]
template<class ValueT>
template<class InputIterator>
◆ insert() [3/3]
◆ max_size()
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ operator[]() [1/2]
◆ operator[]() [2/2]
◆ pop_back()
◆ push_back()
◆ rbegin() [1/2]
◆ rbegin() [2/2]
◆ rend() [1/2]
◆ rend() [2/2]
◆ reserve()
◆ resize()
◆ size()
Referenced by osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::AttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), osg::ConstAttributeFunctorArrayVisitor::apply(), and osgAnimation::TemplateKeyframeContainer< typename SamplerType::KeyframeType >::linearInterpolationDeduplicate().
◆ swap() [1/2]
◆ swap() [2/2]
◆ operator!= [1/3]
◆ operator!= [2/3]
template<class ValueT>
bool operator!= |
( |
const MixinVector< ValueT > & | left, |
|
|
const std::vector< ValueT > & | right ) |
|
friend |
◆ operator!= [3/3]
template<class ValueT>
bool operator!= |
( |
const std::vector< ValueT > & | left, |
|
|
const MixinVector< ValueT > & | right ) |
|
friend |
◆ operator< [1/3]
◆ operator< [2/3]
template<class ValueT>
bool operator< |
( |
const MixinVector< ValueT > & | left, |
|
|
const std::vector< ValueT > & | right ) |
|
friend |
◆ operator< [3/3]
template<class ValueT>
bool operator< |
( |
const std::vector< ValueT > & | left, |
|
|
const MixinVector< ValueT > & | right ) |
|
friend |
◆ operator<= [1/3]
◆ operator<= [2/3]
template<class ValueT>
bool operator<= |
( |
const MixinVector< ValueT > & | left, |
|
|
const std::vector< ValueT > & | right ) |
|
friend |
◆ operator<= [3/3]
template<class ValueT>
bool operator<= |
( |
const std::vector< ValueT > & | left, |
|
|
const MixinVector< ValueT > & | right ) |
|
friend |
◆ operator== [1/3]
◆ operator== [2/3]
template<class ValueT>
bool operator== |
( |
const MixinVector< ValueT > & | left, |
|
|
const std::vector< ValueT > & | right ) |
|
friend |
◆ operator== [3/3]
template<class ValueT>
bool operator== |
( |
const std::vector< ValueT > & | left, |
|
|
const MixinVector< ValueT > & | right ) |
|
friend |
◆ operator> [1/3]
◆ operator> [2/3]
template<class ValueT>
bool operator> |
( |
const MixinVector< ValueT > & | left, |
|
|
const std::vector< ValueT > & | right ) |
|
friend |
◆ operator> [3/3]
template<class ValueT>
bool operator> |
( |
const std::vector< ValueT > & | left, |
|
|
const MixinVector< ValueT > & | right ) |
|
friend |
◆ operator>= [1/3]
◆ operator>= [2/3]
template<class ValueT>
bool operator>= |
( |
const MixinVector< ValueT > & | left, |
|
|
const std::vector< ValueT > & | right ) |
|
friend |
◆ operator>= [3/3]
template<class ValueT>
bool operator>= |
( |
const std::vector< ValueT > & | left, |
|
|
const MixinVector< ValueT > & | right ) |
|
friend |
The documentation for this class was generated from the following file: