22#ifndef _vctFixedSizeConstMatrixRef_h
23#define _vctFixedSizeConstMatrixRef_h
51 <_rows, _cols,_rowStride, _colStride, _elementType,
52 typename vctFixedSizeMatrixTraits<_elementType, _rows, _cols, _rowStride, _colStride>::pointer>
83 template <
size_type __rows,
size_type __cols,
class __dataPtrType>
91 template <
size_type __rows,
size_type __cols,
class __dataPtrType>
93 size_type startRow, size_type startCol)
95 SetRef(matrix, startRow, startCol);
100 template <
class __matrixOwnerType>
102 size_type startRow, size_type startCol)
104 SetRef(matrix, startRow, startCol);
120 this->Data =
const_cast<pointer
>(p);
132 template <
size_type __rows,
size_type __cols,
class __dataPtrType>
134 size_type startRow, size_type startCol)
136 if ((startRow + this->
rows() > matrix.
rows()) || (startCol + this->cols() > matrix.
cols())) {
137 cmnThrow(std::out_of_range(
"vctFixedSizeConstMatrixRef SetRef out of range"));
151 template <
class __matrixOwnerType>
153 size_type startRow, size_type startCol)
155 if ((this->
row_stride() != matrix.row_stride()) || (this->col_stride() == matrix.col_stride())) {
156 cmnThrow(std::runtime_error(
"vctFixedSizeconstMatrixRef SetRef with incompatible stride(s)"));
158 if ((startRow + this->
rows() > matrix.rows()) || (startCol + this->cols() > matrix.cols())) {
159 cmnThrow(std::out_of_range(
"vctFixedSizeConstMatrixRef SetRef out of range"));
161 SetRef(matrix.Pointer(startRow, startCol));
169 class _elementType,
class _dataPtrType>
179 class _elementType,
class _dataPtrType>
Definition vctForwardDeclarations.h:145
BaseType::RefTransposeType RefTransposeType
Definition vctDynamicMatrixBase.h:69
A template for a fixed size matrix with fixed spacing in memory.
Definition vctFixedSizeConstMatrixBase.h:104
const_pointer Pointer(size_type rowIndex, size_type colIndex) const
Definition vctFixedSizeConstMatrixBase.h:329
size_type cols() const
Definition vctFixedSizeConstMatrixBase.h:282
size_type rows() const
Definition vctFixedSizeConstMatrixBase.h:277
vctFixedSizeConstMatrixRef< _elementType, _cols, _rows, _colStride, _rowStride > ConstRefTransposeType
Definition vctFixedSizeConstMatrixBase.h:187
DataType Data
Definition vctFixedSizeConstMatrixBase.h:216
Definition vctForwardDeclarations.h:106
A template for a fixed size matrix with fixed spacings in memory.
Definition vctFixedSizeMatrixBase.h:60
BaseType::RefTransposeType RefTransposeType
Definition vctFixedSizeMatrixBase.h:90
Define common container related types based on the properties of a fixed size container.
Definition vctFixedSizeMatrixTraits.h:47
vctFixedStrideMatrixConstIterator< _elementType, -_colStride, _cols, -_rowStride > const_reverse_iterator
Definition vctFixedSizeMatrixTraits.h:62
vctFixedStrideMatrixIterator< _elementType, _colStride, _cols, _rowStride > iterator
Definition vctFixedSizeMatrixTraits.h:53
vctFixedStrideMatrixConstIterator< _elementType, _colStride, _cols, _rowStride > const_iterator
Definition vctFixedSizeMatrixTraits.h:56
vctFixedStrideMatrixIterator< _elementType, -_colStride, _cols, -_rowStride > reverse_iterator
Definition vctFixedSizeMatrixTraits.h:59
void cmnThrow(const _exceptionType &except, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_ERROR)
Definition cmnThrow.h:76
size_t size_type
Definition vctContainerTraits.h:35
ptrdiff_t stride_type
Definition vctContainerTraits.h:37
#define VCT_CONTAINER_TRAITS_TYPEDEFS(type)
Definition vctContainerTraits.h:50
OwnerType::const_iterator const_iterator
Definition vctDynamicConstMatrixBase.h:95
difference_type row_stride() const
Definition vctDynamicConstMatrixBase.h:263
OwnerType::iterator iterator
Definition vctDynamicConstMatrixBase.h:92
ConstRefTransposeType TransposeRef(void) const
Definition vctDynamicConstMatrixBase.h:980
size_type rows() const
Definition vctDynamicConstMatrixBase.h:238
OwnerType::const_reverse_iterator const_reverse_iterator
Definition vctDynamicConstMatrixBase.h:101
vctDynamicConstMatrixBase< _matrixOwnerType, _elementType > ThisType
Definition vctDynamicConstMatrixBase.h:86
OwnerType::reverse_iterator reverse_iterator
Definition vctDynamicConstMatrixBase.h:98
vctDynamicNArrayBase< vctDynamicNArrayOwner< _elementType, _dimension >, _elementType, _dimension > BaseType
Definition vctDynamicNArray.h:133
void SetRef(pointer p)
Definition vctFixedSizeConstMatrixRef.h:114
vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride > MatrixTraits
Definition vctFixedSizeConstMatrixRef.h:59
Declaration of vctFixedSizeMatrixBase.