cisst-saw
Loading...
Searching...
No Matches
vctFixedSizeVector.h File Reference

Declaration of vctFixedSizeVector. More...

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

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)
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)
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)
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)

Detailed Description

Declaration of vctFixedSizeVector.

Macro Definition Documentation

◆ _vctFixedSizeVector_h

#define _vctFixedSizeVector_h

Function Documentation

◆ operator%()

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.

◆ operator&()

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.

◆ operator*() [1/2]

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

◆ operator*() [2/2]

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

◆ operator+() [1/3]

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)\).

◆ operator+() [2/3]

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)\).

◆ operator+() [3/3]

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)\).

◆ operator-() [1/4]

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

◆ operator-() [2/4]

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)\).

◆ operator-() [3/4]

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

◆ operator-() [4/4]

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

◆ operator/() [1/2]

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

◆ operator/() [2/2]

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

◆ vctCrossProduct()

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.

◆ vctFixedSizeVectorElementwiseCompareScalar()

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

◆ vctFixedSizeVectorElementwiseCompareVector()

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