ERC CISST - cisst software

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

#include <vctFixedSizeVectorRef.h>

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

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

Collaboration graph
[legend]
List of all members.

Detailed Description

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

An implementation of the ``abstract'' vctFixedSizeVectorBase.

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 GetSubsequence().

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

See also:
vctFixedSizeConstVectorRef

Definition at line 49 of file vctFixedSizeVectorRef.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> vctFixedSizeVectorRef< _elementType, _size, _stride >::VectorTraits

Type traits for the vector. Based on type of elements, size, stride and data representation, it defines array, pointer, etc. (see vctFixedSizeVectorTraits).

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

Definition at line 55 of file vctFixedSizeVectorRef.h.

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

Type of the vector itself.

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

Definition at line 56 of file vctFixedSizeVectorRef.h.

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
typedef vctFixedSizeVectorBase<_size, _stride, value_type, pointer> vctFixedSizeVectorRef< _elementType, _size, _stride >::BaseType

Type of the base class.

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

Definition at line 57 of file vctFixedSizeVectorRef.h.

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

The type used to create a copy.

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

Definition at line 58 of file vctFixedSizeVectorRef.h.


Constructor & Destructor Documentation

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

Default constructor: create an uninitialized vector

Definition at line 62 of file vctFixedSizeVectorRef.h.

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

Initialize the vector with a (non-const) pointer

Definition at line 66 of file vctFixedSizeVectorRef.h.

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

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

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

Note:
This constructor is explicit.

The stride values are taken from the fixed size vector.

Definition at line 79 of file vctFixedSizeVectorRef.h.

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

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
template<class __vectorOwnerType>
vctFixedSizeVectorRef< _elementType, _size, _stride >::vctFixedSizeVectorRef ( vctDynamicVectorBase< __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 89 of file vctFixedSizeVectorRef.h.

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


Member Function Documentation

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

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

Definition at line 97 of file vctFixedSizeVectorRef.h.

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

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

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
template<size_type __size, class __dataPtrType>
void vctFixedSizeVectorRef< _elementType, _size, _stride >::SetRef ( vctFixedSizeVectorBase< __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 112 of file vctFixedSizeVectorRef.h.

References cmnThrow(), vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Pointer(), vctFixedSizeVectorRef< _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 vctFixedSizeVectorRef< _elementType, _size, _stride >::SetRef ( vctDynamicVectorBase< __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 128 of file vctFixedSizeVectorRef.h.

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

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
CISST_DEPRECATED ThisType& vctFixedSizeVectorRef< _elementType, _size, _stride >::operator= ( const ThisType other  )  [inline]

Assignment operation between vectors of different types

Parameters:
other The vector to be copied.

Definition at line 147 of file vctFixedSizeVectorRef.h.

References vctFixedSizeVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >::Assign().

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
template<stride_type __stride>
ThisType& vctFixedSizeVectorRef< _elementType, _size, _stride >::operator= ( const vctFixedSizeConstVectorRef< value_type, _size, __stride > &  other  )  [inline]

Assignment operation between vectors of different types

Parameters:
other The vector to be copied.

Definition at line 152 of file vctFixedSizeVectorRef.h.

References vctFixedSizeVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >::Assign().

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
template<stride_type __stride, class __elementType, class __dataPtrType>
ThisType& vctFixedSizeVectorRef< _elementType, _size, _stride >::operator= ( const vctFixedSizeConstVectorBase< _size, __stride, __elementType, __dataPtrType > &  other  )  [inline]

Assignment operation between vectors of different types

Parameters:
other The vector to be copied.

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

Definition at line 157 of file vctFixedSizeVectorRef.h.

References vctFixedSizeVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >::Assign().

template<class _elementType, vct::size_type _size, vct::stride_type _stride>
ThisType& vctFixedSizeVectorRef< _elementType, _size, _stride >::operator= ( const value_type &  value  )  [inline]

Assignement of a scalar to all elements. See also SetAll.

Definition at line 163 of file vctFixedSizeVectorRef.h.

References vctFixedSizeVectorBase< _size, _stride, _elementType, vctFixedSizeVectorTraits< _elementType, _size, _stride >::pointer >::SetAll().


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