cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
vctDynamicConstMatrixRef< _elementType > Class Template Reference

Dynamic matrix referencing existing memory (const) More...

#include <vctDynamicConstMatrixRef.h>

Inheritance diagram for vctDynamicConstMatrixRef< _elementType >:
vctDynamicConstMatrixBase< vctDynamicMatrixRefOwner< _elementType >, _elementType >

Public Types

enum  { DIMENSION = 2 }
 
typedef
vctDynamicConstMatrixRef
< _elementType > 
ThisType
 
typedef
vctDynamicMatrixRefOwner
< _elementType > 
MatrixOwnerType
 
typedef
vctDynamicConstMatrixBase
< vctDynamicMatrixRefOwner
< _elementType >, _elementType > 
BaseType
 
typedef MatrixOwnerType::iterator iterator
 
typedef
MatrixOwnerType::const_iterator 
const_iterator
 
typedef
MatrixOwnerType::reverse_iterator 
reverse_iterator
 
typedef
MatrixOwnerType::const_reverse_iterator 
const_reverse_iterator
 
- Public Types inherited from vctDynamicConstMatrixBase< vctDynamicMatrixRefOwner< _elementType >, _elementType >
enum  
 
typedef
vctDynamicConstMatrixBase
< vctDynamicMatrixRefOwner
< _elementType >, _elementType > 
ThisType
 
typedef
vctDynamicMatrixRefOwner
< _elementType > 
OwnerType
 
typedef OwnerType::iterator iterator
 
typedef OwnerType::const_iterator const_iterator
 
typedef OwnerType::reverse_iterator reverse_iterator
 
typedef
OwnerType::const_reverse_iterator 
const_reverse_iterator
 
typedef
vctDynamicConstVectorRef
< _elementType > 
ConstRowRefType
 
typedef vctDynamicVectorRef
< _elementType > 
RowRefType
 
typedef
vctDynamicConstVectorRef
< _elementType > 
ConstColumnRefType
 
typedef vctDynamicVectorRef
< _elementType > 
ColumnRefType
 
typedef
vctDynamicConstVectorRef
< _elementType > 
ConstDiagonalRefType
 
typedef vctDynamicVectorRef
< _elementType > 
DiagonalRefType
 
typedef
vctDynamicConstMatrixRef
< _elementType > 
ConstRefTransposeType
 
typedef vctDynamicMatrixRef
< _elementType > 
RefTransposeType
 
typedef vctDynamicMatrix
< _elementType > 
TransposeValueType
 
typedef vctDynamicMatrix
< _elementType > 
MatrixValueType
 
typedef vctReturnDynamicMatrix
< _elementType > 
MatrixReturnType
 
typedef cmnTypeTraits< value_type > TypeTraits
 
typedef TypeTraits::BoolType BoolType
 
typedef vctReturnDynamicMatrix
< BoolType
BoolMatrixReturnType
 
typedef vctDynamicVector
< const_pointer > 
ConstVectorPointerType
 
typedef vctDynamicVector< pointer > VectorPointerType
 

Public Member Functions

 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
 VCT_NARRAY_TRAITS_TYPEDEFS (DIMENSION)
 
 vctDynamicConstMatrixRef ()
 
 vctDynamicConstMatrixRef (const ThisType &other)
 
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType >
 vctDynamicConstMatrixRef (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &otherMatrix)
 
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType >
 vctDynamicConstMatrixRef (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &otherMatrix, size_type startRow, size_type startCol, size_type rows, size_type cols)
 
template<class __ownerType >
 vctDynamicConstMatrixRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix)
 
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType >
void SetRef (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &otherMatrix)
 
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType >
void SetRef (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &otherMatrix, size_type startRow, size_type startCol, size_type rows, size_type cols)
 
template<class __ownerType >
void SetRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix)
 
 vctDynamicConstMatrixRef (size_type rows, size_type cols, stride_type rowStride, stride_type colStride, pointer dataPointer)
 
 vctDynamicConstMatrixRef (size_type rows, size_type cols, stride_type rowStride, stride_type colStride, const_pointer dataPointer)
 
 vctDynamicConstMatrixRef (const nsize_type &matrixSize, stride_type rowStride, stride_type colStride, pointer dataPointer)
 
 vctDynamicConstMatrixRef (const nsize_type &matrixSize, stride_type rowStride, stride_type colStride, const_pointer dataPointer)
 
 vctDynamicConstMatrixRef (const nsize_type &matrixSize, const nstride_type &matrixStride, pointer dataPointer)
 
 vctDynamicConstMatrixRef (const nsize_type &matrixSize, const nstride_type &matrixStride, const_pointer dataPointer)
 
 vctDynamicConstMatrixRef (size_type rows, size_type cols, pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE)
 
 vctDynamicConstMatrixRef (size_type rows, size_type cols, const_pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE)
 
 vctDynamicConstMatrixRef (const nsize_type &matrixSize, pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE)
 
 vctDynamicConstMatrixRef (const nsize_type &matrixSize, const_pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE)
 
template<class __ownerType >
 vctDynamicConstMatrixRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix, size_type startRow, size_type startCol, size_type rows, size_type cols)
 
template<class __ownerType >
 vctDynamicConstMatrixRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix, const nsize_type &start, const nsize_type &matrixSize)
 
void SetRef (size_type rows, size_type cols, stride_type rowStride, stride_type colStride, pointer dataPointer)
 
void SetRef (size_type rows, size_type cols, stride_type rowStride, stride_type colStride, const_pointer dataPointer)
 
void SetRef (const nsize_type &matrixSize, stride_type rowStride, stride_type colStride, pointer dataPointer)
 
void SetRef (const nsize_type &matrixSize, stride_type rowStride, stride_type colStride, const_pointer dataPointer)
 
void SetRef (const nsize_type &matrixSize, const nstride_type &matrixStride, pointer dataPointer)
 
void SetRef (const nsize_type &matrixSize, const nstride_type &matrixStride, const_pointer dataPointer)
 
void SetRef (size_type rows, size_type cols, pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE)
 
void SetRef (size_type rows, size_type cols, const_pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE)
 
void SetRef (const nsize_type &sizes, pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE)
 
void SetRef (const nsize_type &sizes, const_pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE)
 
template<class __ownerType >
void SetRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix, size_type startRow, size_type startCol, size_type rows, size_type cols)
 
template<class __ownerType >
void SetRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix, const nsize_type &start, const nsize_type &matrixSize)
 
- Public Member Functions inherited from vctDynamicConstMatrixBase< vctDynamicMatrixRefOwner< _elementType >, _elementType >
 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
 VCT_NARRAY_TRAITS_TYPEDEFS (DIMENSION)
 
const_iterator begin (void) const
 
const_iterator end (void) const
 
const_reverse_iterator rbegin (void) const
 
const_reverse_iterator rend (void) const
 
size_type size (void) const
 
const nsize_type & sizes (void) const
 
size_type rows () const
 
size_type cols () const
 
size_type height () const
 
size_type width () const
 
const nstride_type & strides (void) const
 
difference_type row_stride () const
 
difference_type col_stride () const
 
bool empty () const
 
ConstRowRefType operator[] (size_type index) const
 
const_reference at (size_type index) const throw (std::out_of_range)
 
const_reference at (size_type rowIndex, size_type colIndex) const throw (std::out_of_range)
 
const OwnerTypeOwner (void) const
 
const_pointer Pointer (index_type rowIndex, index_type colIndex) const
 
const_pointer Pointer (void) const
 
bool ValidIndex (size_type index) const
 
bool ValidIndex (size_type rowIndex, size_type colIndex) const
 
bool ValidRowIndex (size_type rowIndex) const
 
bool ValidColIndex (size_type colIndex) const
 
const_reference operator() (size_type rowIndex, size_type colIndex) const throw (std::out_of_range)
 
const_reference Element (size_type rowIndex, size_type colIndex) const
 
ConstRowRefType Row (size_type index) const throw (std::out_of_range)
 
ConstColumnRefType Column (size_type index) const throw (std::out_of_range)
 
ConstDiagonalRefType Diagonal () const
 
ConstVectorPointerTypeRowPointers (ConstVectorPointerType &rowPointers) const throw (std::runtime_error)
 
vctDynamicConstMatrixRef
< _elementType > 
Ref (const size_type rows, const size_type cols, const size_type startRow=0, const size_type startCol=0) const throw (std::out_of_range)
 
ConstRefTransposeType TransposeRef (void) const
 
MatrixReturnType Transpose () const
 
std::string ToString (void)
 
void ToStream (std::ostream &outputStream) const
 
void ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const
 
void SerializeRaw (std::ostream &outputStream) const
 
value_type SumOfElements (void) const
 
value_type ProductOfElements (void) const
 
value_type Trace (void) const
 
value_type NormSquare (void) const
 
NormType Norm (void) const
 
value_type L1Norm (void) const
 
value_type LinfNorm (void) const
 
value_type MaxElement (void) const
 
value_type MinElement (void) const
 
value_type MaxAbsElement (void) const
 
value_type MinAbsElement (void) const
 
void MinAndMaxElement (value_type &minElement, value_type &maxElement) const
 
bool IsPositive (void) const
 
bool IsNonNegative (void) const
 
bool IsNonPositive (void) const
 
bool IsNegative (void) const
 
bool All (void) const
 
bool Any (void) const
 
bool IsFinite (void) const
 
bool HasNaN (void) const
 
bool IsColMajor (void) const
 
bool IsRowMajor (void) const
 
bool IsCompact (void) const
 
bool IsFortran (void) const
 
bool StorageOrder (void) const
 
bool IsSquare (void) const
 
bool IsSquare (size_type size) const
 
bool FastCopyCompatible (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source) const
 
bool FastCopyCompatible (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &source) const
 
bool Equal (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool operator== (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool AlmostEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix, value_type tolerance) const
 
bool AlmostEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool NotEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool operator!= (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool Lesser (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool LesserOrEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool Greater (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool GreaterOrEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
BoolMatrixReturnType ElementwiseEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
BoolMatrixReturnType ElementwiseNotEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
BoolMatrixReturnType ElementwiseLesser (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
BoolMatrixReturnType ElementwiseLesserOrEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
BoolMatrixReturnType ElementwiseGreater (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
BoolMatrixReturnType ElementwiseGreaterOrEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
 
bool Equal (const value_type &scalar) const
 
bool operator== (const value_type &scalar) const
 
bool NotEqual (const value_type &scalar) const
 
bool operator!= (const value_type &scalar) const
 
bool Lesser (const value_type &scalar) const
 
bool LesserOrEqual (const value_type &scalar) const
 
bool Greater (const value_type &scalar) const
 
bool GreaterOrEqual (const value_type &scalar) const
 
BoolMatrixReturnType ElementwiseEqual (const value_type &scalar) const
 
BoolMatrixReturnType ElementwiseNotEqual (const value_type &scalar) const
 
BoolMatrixReturnType ElementwiseLesser (const value_type &scalar) const
 
BoolMatrixReturnType ElementwiseLesserOrEqual (const value_type &scalar) const
 
BoolMatrixReturnType ElementwiseGreater (const value_type &scalar) const
 
BoolMatrixReturnType ElementwiseGreaterOrEqual (const value_type &scalar) const
 
MatrixReturnType Abs (void) const
 
MatrixReturnType Negation (void) const
 
MatrixReturnType Floor (void) const
 
MatrixReturnType Ceil (void) const
 

Additional Inherited Members

- Static Public Member Functions inherited from vctDynamicConstMatrixBase< vctDynamicMatrixRefOwner< _elementType >, _elementType >
static MatrixReturnType Eye (size_type size)
 
- Protected Member Functions inherited from vctDynamicConstMatrixBase< vctDynamicMatrixRefOwner< _elementType >, _elementType >
void ThrowUnlessValidIndex (size_type index) const throw (std::out_of_range)
 
void ThrowUnlessValidIndex (size_type rowIndex, size_type colIndex) const throw (std::out_of_range)
 
void ThrowUnlessValidRowIndex (size_type index) const throw (std::out_of_range)
 
void ThrowUnlessValidColIndex (size_type index) const throw (std::out_of_range)
 
- Protected Attributes inherited from vctDynamicConstMatrixBase< vctDynamicMatrixRefOwner< _elementType >, _elementType >
OwnerType Matrix
 

Detailed Description

template<class _elementType>
class vctDynamicConstMatrixRef< _elementType >

Dynamic matrix referencing existing memory (const)

The class vctDynamicConstMatrixRef allows to create a matrix overlaying an existing block of memory. It can be used to manipulate a container created by another toolkit (i.e. OpenGL, vtk, ...) or a cisstVector container using different parameters (different size, storage order or stride).

To setup the overlay, one can use either the constructors or the SetRef methods. When used with a cisst container, the SetRef methods can infer some of the memory layout information (pointer on first element, sizes, strides). When used to overlay existing memory referenced by a pointer, the user has to provide all the required information. In any case, the Ref object doesn't allocate nor free memory.

Finally, as this overlay is const, it can be used to make sure the referenced content is not modified.

For example to manipulate the first five by five elements of a matrix, one can do:

vctDynamicMatrix<double> wholeMatrix(10, 10);
vctRandom(wholeMatrix, -10.0, 10.0);
first5x5.SetRef(wholeMatrix, 0, 0, 5, 5);
std::cout << first5x5 << " " << first5x5.SumOfElements() << std::endl;
Note
Make sure the underlying memory is not freed after the Ref object is created and before it is used. This would lead to faulty memory access and potential bugs.
vctDynamicConstMatrixRef only performs const operations even if it stores a non-const value_type *. It can be initialized with either value_type * or const value_type *. For a non-const Ref, see vctDynamicMatrixRef.
See Also
vctDynamicMatrix, vctDynamicMatrixRef
Parameters
_elementTypeType of elements referenced. Also defined as value_type.

Member Typedef Documentation

template<class _elementType>
typedef vctDynamicConstMatrixBase<vctDynamicMatrixRefOwner<_elementType>, _elementType> vctDynamicConstMatrixRef< _elementType >::BaseType
template<class _elementType>
typedef MatrixOwnerType::const_iterator vctDynamicConstMatrixRef< _elementType >::const_iterator
template<class _elementType>
typedef MatrixOwnerType::const_reverse_iterator vctDynamicConstMatrixRef< _elementType >::const_reverse_iterator
template<class _elementType>
typedef MatrixOwnerType::iterator vctDynamicConstMatrixRef< _elementType >::iterator
template<class _elementType>
typedef vctDynamicMatrixRefOwner<_elementType> vctDynamicConstMatrixRef< _elementType >::MatrixOwnerType
template<class _elementType>
typedef MatrixOwnerType::reverse_iterator vctDynamicConstMatrixRef< _elementType >::reverse_iterator
template<class _elementType>
typedef vctDynamicConstMatrixRef<_elementType> vctDynamicConstMatrixRef< _elementType >::ThisType

Member Enumeration Documentation

template<class _elementType>
anonymous enum
Enumerator
DIMENSION 

Constructor & Destructor Documentation

template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( )
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const ThisType other)
inline

Copy constructor

template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( size_type  rows,
size_type  cols,
stride_type  rowStride,
stride_type  colStride,
pointer  dataPointer 
)
inline

Constructor requiring the user to provide all the necessary information, i.e. the size (number of rows and columns), the strides (increment from row to row and from column to column) as well as a pointer on the first element.

template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( size_type  rows,
size_type  cols,
stride_type  rowStride,
stride_type  colStride,
const_pointer  dataPointer 
)
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const nsize_type &  matrixSize,
stride_type  rowStride,
stride_type  colStride,
pointer  dataPointer 
)
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const nsize_type &  matrixSize,
stride_type  rowStride,
stride_type  colStride,
const_pointer  dataPointer 
)
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const nsize_type &  matrixSize,
const nstride_type &  matrixStride,
pointer  dataPointer 
)
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const nsize_type &  matrixSize,
const nstride_type &  matrixStride,
const_pointer  dataPointer 
)
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( size_type  rows,
size_type  cols,
pointer  dataPointer,
bool  storageOrder = VCT_DEFAULT_STORAGE 
)
inline

Constructor requiring the user to provide the size of the matrix (number of rows and columns), a pointer on the first element and the desired storage order. If the storage order is omitted, the default is used (row major).

template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( size_type  rows,
size_type  cols,
const_pointer  dataPointer,
bool  storageOrder = VCT_DEFAULT_STORAGE 
)
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const nsize_type &  matrixSize,
pointer  dataPointer,
bool  storageOrder = VCT_DEFAULT_STORAGE 
)
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const nsize_type &  matrixSize,
const_pointer  dataPointer,
bool  storageOrder = VCT_DEFAULT_STORAGE 
)
inline
template<class _elementType>
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType >
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &  otherMatrix)
inline

Construct a dynamic reference to a fixed-size matrix.

Note
the strides of this reference will be identical to the strides of the input matrix. For a more advanced access, customize the parameters yourself (see the other ctors).
template<class _elementType>
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType >
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &  otherMatrix,
size_type  startRow,
size_type  startCol,
size_type  rows,
size_type  cols 
)
inline

Construct a dynamic reference to a submatrix of a fixed-size matrix.

Parameters
otherMatrixa fixed size matrix to which a reference is created.
startRowrow index of the position where the reference will start.
startColcolumn index of the position where the reference will start.
rowsthe number of rows being referenced
colsthe number of columns being referenced
Note
the strides of this reference will be identical to the strides of the input matrix. For a more advanced access, customize the parameters yourself (see the other ctors).
template<class _elementType>
template<class __ownerType >
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const vctDynamicConstMatrixBase< __ownerType, _elementType > &  otherMatrix)
inline

Construct a dynamic reference to a dynamic matrix.

Note
the strides of this reference will be identical to the strides of the input matrix. For a more advanced access, customize the parameters yourself (see the other SetRef methods).
template<class _elementType>
template<class __ownerType >
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const vctDynamicConstMatrixBase< __ownerType, _elementType > &  otherMatrix,
size_type  startRow,
size_type  startCol,
size_type  rows,
size_type  cols 
)
inline

Construct a dynamic reference to a submatrix of a dynamic matrix.

Parameters
otherMatrixa fixed size matrix to which a reference is created.
startRowrow index of the position where the reference will start.
startColcolumn index of the position where the reference will start.
rowsthe number of rows being referenced
colsthe number of columns being referenced
Note
the strides of this reference will be identical to the strides of the input matrix. For a more advanced access, customize the parameters yourself (see the other ctors).
template<class _elementType>
template<class __ownerType >
vctDynamicConstMatrixRef< _elementType >::vctDynamicConstMatrixRef ( const vctDynamicConstMatrixBase< __ownerType, _elementType > &  otherMatrix,
const nsize_type &  start,
const nsize_type &  matrixSize 
)
inline

Member Function Documentation

template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( size_type  rows,
size_type  cols,
stride_type  rowStride,
stride_type  colStride,
pointer  dataPointer 
)
inline

Set a dynamic reference to a memory location. The user should specify all the parameters of the referenced memory, including a start memory address.

template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( size_type  rows,
size_type  cols,
stride_type  rowStride,
stride_type  colStride,
const_pointer  dataPointer 
)
inline
template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const nsize_type &  matrixSize,
stride_type  rowStride,
stride_type  colStride,
pointer  dataPointer 
)
inline
template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const nsize_type &  matrixSize,
stride_type  rowStride,
stride_type  colStride,
const_pointer  dataPointer 
)
inline
template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const nsize_type &  matrixSize,
const nstride_type &  matrixStride,
pointer  dataPointer 
)
inline
template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const nsize_type &  matrixSize,
const nstride_type &  matrixStride,
const_pointer  dataPointer 
)
inline
template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( size_type  rows,
size_type  cols,
pointer  dataPointer,
bool  storageOrder = VCT_DEFAULT_STORAGE 
)
inline

Set a dynamic reference to a memory location. The user should specify the dimension, start memory address and desired storage order. This method assumes there is enough memory and will create a compact matrix reference.

template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( size_type  rows,
size_type  cols,
const_pointer  dataPointer,
bool  storageOrder = VCT_DEFAULT_STORAGE 
)
inline
template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const nsize_type &  sizes,
pointer  dataPointer,
bool  storageOrder = VCT_DEFAULT_STORAGE 
)
inline
template<class _elementType>
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const nsize_type &  sizes,
const_pointer  dataPointer,
bool  storageOrder = VCT_DEFAULT_STORAGE 
)
inline
template<class _elementType>
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType >
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &  otherMatrix)
inline

Set a dynamic reference to a fixed-size matrix. The reference will have identical dimensions and strides as the input matrix.

template<class _elementType>
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType >
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &  otherMatrix,
size_type  startRow,
size_type  startCol,
size_type  rows,
size_type  cols 
)
inline

Set a dynamic reference to a submatrix of a fixed-size matrix.

Parameters
otherMatrixa fixed size matrix to which a reference is created.
startRowrow index of the position where the reference will start.
startColcolumn index of the position where the reference will start.
rowsthe number of rows being referenced
colsthe number of columns being referenced
Note
the strides of this reference will be identical to the strides of the input matrix. For a more advanced access, customize the parameters yourself (see the other SetRef methods).
This method verifies that the size of this matrix does not exceed the size of the input matrix (otherwise cmnThrow is used to throw std::out_of_range).
template<class _elementType>
template<class __ownerType >
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const vctDynamicConstMatrixBase< __ownerType, _elementType > &  otherMatrix)
inline

Set a dynamic reference to a dynamic matrix. The reference will have identical dimensions and strides as the input matrix.

template<class _elementType>
template<class __ownerType >
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const vctDynamicConstMatrixBase< __ownerType, _elementType > &  otherMatrix,
size_type  startRow,
size_type  startCol,
size_type  rows,
size_type  cols 
)
inline

Set a dynamic reference to a submatrix of a dynamic matrix.

Parameters
otherMatrixa fixed size matrix to which a reference is created.
startRowrow index of the position where the reference will start.
startColcolumn index of the position where the reference will start.
rowsthe number of rows being referenced
colsthe number of columns being referenced
Note
the strides of this reference will be identical to the strides of the input matrix. For a more advanced access, customize the parameters yourself (see the other SetRef methods).
This method verifies that the size of this matrix does not exceed the size of the input matrix (otherwise cmnThrow is used to throw std::out_of_range).
template<class _elementType>
template<class __ownerType >
void vctDynamicConstMatrixRef< _elementType >::SetRef ( const vctDynamicConstMatrixBase< __ownerType, _elementType > &  otherMatrix,
const nsize_type &  start,
const nsize_type &  matrixSize 
)
inline
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::VCT_CONTAINER_TRAITS_TYPEDEFS ( _elementType  )
template<class _elementType>
vctDynamicConstMatrixRef< _elementType >::VCT_NARRAY_TRAITS_TYPEDEFS ( DIMENSION  )

The documentation for this class was generated from the following file: