cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions
vctFixedSizeVector.h File Reference

Declaration of vctFixedSizeVector. More...

#include <cisstVector/vctFixedSizeVectorRef.h>

Go to the source code of this file.

Classes

class  vctFixedSizeVector< _elementType, _size >
 Implementation of a fixed-size vector using template metaprogramming. More...
 

Macros

#define _vctFixedSizeVector_h
 

Functions

template<vct::stride_type _vector1Stride, class _vector1Data , vct::stride_type _vector2Stride, class _vector2Data , class _elementType >
vctFixedSizeVector
< _elementType, 3 > 
vctCrossProduct (const vctFixedSizeConstVectorBase< 3, _vector1Stride, _elementType, _vector1Data > &vector1, const vctFixedSizeConstVectorBase< 3, _vector2Stride, _elementType, _vector2Data > &vector2)
 
template<vct::stride_type _vector1Stride, class _vector1Data , vct::stride_type _vector2Stride, class _vector2Data , class _elementType >
vctFixedSizeVector
< _elementType, 3 > 
operator% (const vctFixedSizeConstVectorBase< 3, _vector1Stride, _elementType, _vector1Data > &vector1, const vctFixedSizeConstVectorBase< 3, _vector2Stride, _elementType, _vector2Data > &vector2)
 
template<vct::size_type _size1, vct::stride_type _stride1, class _elementType , class _dataPtr1 , vct::size_type _size2, vct::stride_type _stride2, class _dataPtr2 >
vctFixedSizeVector
< _elementType, _size1+_size2 > 
operator& (const vctFixedSizeConstVectorBase< _size1, _stride1, _elementType, _dataPtr1 > &vector1, const vctFixedSizeConstVectorBase< _size2, _stride2, _elementType, _dataPtr2 > &vector2)
 
template<vct::size_type _size, vct::stride_type _stride, class _dataPtrType , vct::stride_type __stride, class __dataPtrType , class _elementType , class _elementOperationType >
vctFixedSizeVector< bool, _size > vctFixedSizeVectorElementwiseCompareVector (const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector1, const vctFixedSizeConstVectorBase< _size, __stride, _elementType, __dataPtrType > &vector2)
 
template<vct::size_type _size, vct::stride_type _stride, class _dataPtrType , class _elementType , class _elementOperationType >
vctFixedSizeVector< bool, _size > vctFixedSizeVectorElementwiseCompareScalar (const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector, const _elementType &scalar)
 
Elementwise operations between fixed size vectors.
template<vct::size_type _size, vct::stride_type _vector1Stride, class _vector1Data , vct::stride_type _vector2Stride, class _vector2Data , class _elementType >
vctFixedSizeVector
< _elementType, _size > 
operator+ (const vctFixedSizeConstVectorBase< _size, _vector1Stride, _elementType, _vector1Data > &vector1, const vctFixedSizeConstVectorBase< _size, _vector2Stride, _elementType, _vector2Data > &vector2)
 
template<vct::size_type _size, vct::stride_type _vector1Stride, class _vector1Data , vct::stride_type _vector2Stride, class _vector2Data , class _elementType >
vctFixedSizeVector
< _elementType, _size > 
operator- (const vctFixedSizeConstVectorBase< _size, _vector1Stride, _elementType, _vector1Data > &vector1, const vctFixedSizeConstVectorBase< _size, _vector2Stride, _elementType, _vector2Data > &vector2)
 
Elementwise operations between a fixed size vector and a scalar.
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator+ (const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector, const _elementType &scalar)
 
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator- (const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector, const _elementType &scalar)
 
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator* (const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector, const _elementType &scalar)
 
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator/ (const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector, const _elementType &scalar)
 
Elementwise operations between a scalar and a fixed size vector.
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator+ (const _elementType &scalar, const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector)
 
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator- (const _elementType &scalar, const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector)
 
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator* (const _elementType &scalar, const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector)
 
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator/ (const _elementType &scalar, const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector)
 
Elementwise operations on a fixed size vector.
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector
< _elementType, _size > 
operator- (const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &vector)
 

Detailed Description

Declaration of vctFixedSizeVector.

Macro Definition Documentation

#define _vctFixedSizeVector_h

Function Documentation

template<vct::stride_type _vector1Stride, class _vector1Data , vct::stride_type _vector2Stride, class _vector2Data , class _elementType >
vctFixedSizeVector<_elementType, 3> operator% ( const vctFixedSizeConstVectorBase< 3, _vector1Stride, _elementType, _vector1Data > &  vector1,
const vctFixedSizeConstVectorBase< 3, _vector2Stride, _elementType, _vector2Data > &  vector2 
)
inline

Cross product between fixed size vectors (size 3).

Parameters
vector1The first operand of the cross product.
vector2The second operand of the cross product.
Returns
The cross product.
template<vct::size_type _size1, vct::stride_type _stride1, class _elementType , class _dataPtr1 , vct::size_type _size2, vct::stride_type _stride2, class _dataPtr2 >
vctFixedSizeVector<_elementType, _size1 + _size2> operator& ( const vctFixedSizeConstVectorBase< _size1, _stride1, _elementType, _dataPtr1 > &  vector1,
const vctFixedSizeConstVectorBase< _size2, _stride2, _elementType, _dataPtr2 > &  vector2 
)
inline

Concatenation operator between vectors. The operands may be any two fixed-size vectors. The result is a vector of a size equal to the sum of sizes, that contains the concatenated elements.

template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator* ( const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector,
const _elementType &  scalar 
)
inline
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator* ( const _elementType &  scalar,
const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector 
)
inline
template<vct::size_type _size, vct::stride_type _vector1Stride, class _vector1Data , vct::stride_type _vector2Stride, class _vector2Data , class _elementType >
vctFixedSizeVector<_elementType, _size> operator+ ( const vctFixedSizeConstVectorBase< _size, _vector1Stride, _elementType, _vector1Data > &  vector1,
const vctFixedSizeConstVectorBase< _size, _vector2Stride, _elementType, _vector2Data > &  vector2 
)
inline

Operation between fixed size vectors (same size).

Parameters
vector1The first operand of the binary operation.
vector2The second operand of the binary operation.
Returns
The vector result of $op(vector1, vector2)$.
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator+ ( const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector,
const _elementType &  scalar 
)
inline

Operation between a fixed size vector and a scalar.

Parameters
vectorThe first operand of the binary operation.
scalarThe second operand of the binary operation.
Returns
The vector result of $op(vector, scalar)$.
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator+ ( const _elementType &  scalar,
const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector 
)
inline

Operation between a scalar and a fixed size vector.

Parameters
scalarThe first operand of the binary operation.
vectorThe second operand of the binary operation.
Returns
The vector result of $op(scalar, vector)$.
template<vct::size_type _size, vct::stride_type _vector1Stride, class _vector1Data , vct::stride_type _vector2Stride, class _vector2Data , class _elementType >
vctFixedSizeVector<_elementType, _size> operator- ( const vctFixedSizeConstVectorBase< _size, _vector1Stride, _elementType, _vector1Data > &  vector1,
const vctFixedSizeConstVectorBase< _size, _vector2Stride, _elementType, _vector2Data > &  vector2 
)
inline
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator- ( const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector,
const _elementType &  scalar 
)
inline
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator- ( const _elementType &  scalar,
const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector 
)
inline
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator- ( const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector)
inline

Unary operation on a fixed size vector.

Parameters
vectorThe operand of the unary operation
Returns
The vector result of $op(vector)$.
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator/ ( const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector,
const _elementType &  scalar 
)
inline
template<vct::size_type _size, vct::stride_type _stride, class _elementType , class _dataPtrType >
vctFixedSizeVector<_elementType, _size> operator/ ( const _elementType &  scalar,
const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector 
)
inline
template<vct::stride_type _vector1Stride, class _vector1Data , vct::stride_type _vector2Stride, class _vector2Data , class _elementType >
vctFixedSizeVector<_elementType, 3> vctCrossProduct ( const vctFixedSizeConstVectorBase< 3, _vector1Stride, _elementType, _vector1Data > &  vector1,
const vctFixedSizeConstVectorBase< 3, _vector2Stride, _elementType, _vector2Data > &  vector2 
)
inline

Cross product between fixed size vectors (size 3).

Parameters
vector1The first operand of the cross product.
vector2The second operand of the cross product.
Returns
The cross product.
template<vct::size_type _size, vct::stride_type _stride, class _dataPtrType , class _elementType , class _elementOperationType >
vctFixedSizeVector<bool, _size> vctFixedSizeVectorElementwiseCompareScalar ( const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector,
const _elementType &  scalar 
)
inline
template<vct::size_type _size, vct::stride_type _stride, class _dataPtrType , vct::stride_type __stride, class __dataPtrType , class _elementType , class _elementOperationType >
vctFixedSizeVector<bool, _size> vctFixedSizeVectorElementwiseCompareVector ( const vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType > &  vector1,
const vctFixedSizeConstVectorBase< _size, __stride, _elementType, __dataPtrType > &  vector2 
)
inline