ERC CISST - cisst software

vctFixedSizeConstVectorRef< _elementType, _size, _stride > Class Template Reference
[Vectors]

#include <vctFixedSizeConstVectorRef.h>

Inheritance diagram for vctFixedSizeConstVectorRef< _elementType, _size, _stride >:

Inheritance graph
[legend]
Collaboration diagram for vctFixedSizeConstVectorRef< _elementType, _size, _stride >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
class vctFixedSizeConstVectorRef< _elementType, _size, _stride >

An implementation of the ``abstract'' vctFixedSizeConstVectorBase.

This implementations uses a pointer to the vector beginning as the vector defining data member. An instantiation of this type can be used as a subsequence with GetConstSubsequence().

Note that the class provides only const operations, except for assigning the vector start, which does not affect the vector. This is despite the fact that the stored pointer is non-const.

See the base class (vctFixedSizeConstVectorBase) for template parameter details.

Definition at line 51 of file vctFixedSizeConstVectorRef.h.

Public Types

Public Member Functions

Public Attributes


Member Typedef Documentation

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
typedef vctFixedSizeVectorTraits<_elementType, _size, _stride> vctFixedSizeConstVectorRef< _elementType, _size, _stride >::VectorTraits

Traits used for all useful types related to a vctFixedSizeVector.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >.

Definition at line 57 of file vctFixedSizeConstVectorRef.h.

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
typedef vctFixedSizeConstVectorRef<value_type, _size, _stride> vctFixedSizeConstVectorRef< _elementType, _size, _stride >::ThisType

Type of the vector itself.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >.

Definition at line 58 of file vctFixedSizeConstVectorRef.h.

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
typedef BaseType::CopyType vctFixedSizeConstVectorRef< _elementType, _size, _stride >::CopyType

The type used to create a copy.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >.

Definition at line 60 of file vctFixedSizeConstVectorRef.h.


Constructor & Destructor Documentation

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
vctFixedSizeConstVectorRef< _elementType, _size, _stride >::vctFixedSizeConstVectorRef (  )  [inline]

Default constructor: create an uninitialized vector

Definition at line 64 of file vctFixedSizeConstVectorRef.h.

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
vctFixedSizeConstVectorRef< _elementType, _size, _stride >::vctFixedSizeConstVectorRef ( pointer  p  )  [inline]

Initialize the vector with a (non-const) pointer

Definition at line 67 of file vctFixedSizeConstVectorRef.h.

References vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef().

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
vctFixedSizeConstVectorRef< _elementType, _size, _stride >::vctFixedSizeConstVectorRef ( const_pointer  p  )  [inline]

Initialize the vector with a const pointer. This requires const_cast.

Definition at line 73 of file vctFixedSizeConstVectorRef.h.

References vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef().

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
template<size_type __size, class __dataPtrType>
vctFixedSizeConstVectorRef< _elementType, _size, _stride >::vctFixedSizeConstVectorRef ( const vctFixedSizeConstVectorBase< __size, _stride, _elementType, __dataPtrType > &  otherVector,
size_type  startPosition = 0 
) [inline]

Initialize a fixed size reference to a fixed-size vector.

Note:
There is no need to declare this constructor as explicit, because a vctFixedSizeConstVectorRef protects the content.

The stride values are taken from the fixed size vector.

Definition at line 84 of file vctFixedSizeConstVectorRef.h.

References vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef().

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
template<class __vectorOwnerType>
vctFixedSizeConstVectorRef< _elementType, _size, _stride >::vctFixedSizeConstVectorRef ( const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &  otherVector,
size_type  startPosition = 0 
) [inline, explicit]

Initialize a fixed size reference to a dynamic vector.

Note:
This constructor is declared as explicit, since it is atypical.

Definition at line 94 of file vctFixedSizeConstVectorRef.h.

References vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef().


Member Function Documentation

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
void vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef ( pointer  p  )  [inline]

Assign the vector start with a (non-const) pointer

Definition at line 102 of file vctFixedSizeConstVectorRef.h.

References vctFixedSizeConstVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >::Data.

Referenced by vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef(), and vctFixedSizeConstVectorRef< _elementType, _size, _stride >::vctFixedSizeConstVectorRef().

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
void vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef ( const_pointer  p  )  [inline]

Assign the vector start with a const pointer. This requires const_cast.

Definition at line 108 of file vctFixedSizeConstVectorRef.h.

References vctFixedSizeConstVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >::Data.

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
template<size_type __size, class __dataPtrType>
void vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef ( const vctFixedSizeConstVectorBase< __size, _stride, _elementType, __dataPtrType > &  otherVector,
size_type  startPosition = 0 
) [inline]

Set a fixed size reference to a fixed-size vector.

Note:
the stride of the input vector must be identical to the stride of this vector (this is enforced by the template parameters).

this vector must be contained in the input vector, that is, startPos+_size <= __size (otherwise cmnThrow is used to throw std::out_of_range).

Definition at line 119 of file vctFixedSizeConstVectorRef.h.

References cmnThrow(), vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >::Pointer(), vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef(), and vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >::size().

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
template<class __vectorOwnerType>
void vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef ( const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &  otherVector,
size_type  startPosition = 0 
) [inline]

Set a fixed size reference to a dynamic vector.

Note:
the stride of the input vector must be identical to the stride of this vector (otherwise cmnThrow is used to throw std::runtime_error).

this vector must be contained in the input vector, that is, startPos+_size <= __size (otherwise cmnThrow is used to throw std::out_of_range).

Definition at line 135 of file vctFixedSizeConstVectorRef.h.

References cmnThrow(), vctDynamicConstVectorBase< _vectorOwnerType, _elementType >::Pointer(), vctFixedSizeConstVectorRef< _elementType, _size, _stride >::SetRef(), vctDynamicConstVectorBase< _vectorOwnerType, _elementType >::size(), and vctDynamicConstVectorBase< _vectorOwnerType, _elementType >::stride().


The documentation for this class was generated from the following file:
erc-cisst-devel<at>lists.johnshopkins.edu