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>
95 SetRef(matrix, startRow, startCol);
100 template <
class __matrixOwnerType>
104 SetRef(matrix, startRow, startCol);
120 this->Data =
const_cast<pointer
>(p);
132 template <
size_type __rows,
size_type __cols,
class __dataPtrType>
136 if ((startRow + this->rows() > matrix.rows()) || (startCol + this->cols() > matrix.cols())) {
137 cmnThrow(std::out_of_range(
"vctFixedSizeConstMatrixRef SetRef out of range"));
139 SetRef(matrix.Pointer(startRow, startCol));
151 template <
class __matrixOwnerType>
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"));
169 class _elementType,
class _dataPtrType>
172 _elementType, _dataPtrType>::TransposeRef()
const {
179 class _elementType,
class _dataPtrType>
182 _elementType, _dataPtrType>::TransposeRef(
void) {
187 #endif // _vctFixedSizeConstMatrixRef_h
A template for a fixed size matrix with fixed spacing in memory.
Definition: vctFixedSizeConstMatrixBase.h:103
vctFixedSizeConstMatrixRef(const vctFixedSizeConstMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix)
Definition: vctFixedSizeConstMatrixRef.h:84
void SetRef(pointer p)
Definition: vctFixedSizeConstMatrixRef.h:114
Declaration of vctFixedSizeMatrixBase.
size_t size_type
Definition: vctContainerTraits.h:35
vctFixedSizeConstMatrixRef(const_pointer p)
Definition: vctFixedSizeConstMatrixRef.h:109
vctFixedSizeConstMatrixRef()
Definition: vctFixedSizeConstMatrixRef.h:72
Definition: vctFixedStrideMatrixIterator.h:361
vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, value_type, typename MatrixTraits::pointer > BaseType
Definition: vctFixedSizeConstMatrixRef.h:69
Matrix iterator.
Definition: vctFixedStrideMatrixIterator.h:90
Definition: vctDynamicConstMatrixBase.h:77
A template for a fixed size matrix with fixed spacings in memory.
Definition: vctFixedSizeMatrixBase.h:58
size_type rows() const
Definition: vctDynamicConstMatrixBase.h:238
An implementation of the ``abstract'' vctFixedSizeMatrixBase.
Definition: vctFixedSizeMatrixRef.h:46
size_type cols() const
Definition: vctDynamicConstMatrixBase.h:243
vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride > MatrixTraits
Definition: vctFixedSizeConstMatrixRef.h:59
const_pointer Pointer(index_type rowIndex, index_type colIndex) const
Definition: vctDynamicConstMatrixBase.h:306
#define cmnThrow(a)
Definition: MinimalCmn.h:4
void SetRef(const vctFixedSizeConstMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix, size_type startRow, size_type startCol)
Definition: vctFixedSizeConstMatrixRef.h:133
MatrixTraits::const_reverse_iterator const_reverse_iterator
Definition: vctFixedSizeConstMatrixRef.h:64
MatrixTraits::iterator iterator
Definition: vctFixedSizeConstMatrixRef.h:61
ptrdiff_t stride_type
Definition: vctContainerTraits.h:37
difference_type row_stride() const
Definition: vctDynamicConstMatrixBase.h:263
An implementation of the ``abstract'' vctFixedSizeConstMatrixBase.
Definition: vctFixedSizeConstMatrixRef.h:50
difference_type col_stride() const
Definition: vctDynamicConstMatrixBase.h:268
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
void SetRef(const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, size_type startRow, size_type startCol)
Definition: vctFixedSizeConstMatrixRef.h:152
MatrixTraits::reverse_iterator reverse_iterator
Definition: vctFixedSizeConstMatrixRef.h:63
void SetRef(const_pointer p)
Definition: vctFixedSizeConstMatrixRef.h:119
Define common container related types based on the properties of a fixed size container.
Definition: vctFixedSizeMatrixTraits.h:46
MatrixTraits::const_iterator const_iterator
Definition: vctFixedSizeConstMatrixRef.h:62
vctFixedSizeConstMatrixRef(const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, size_type startRow, size_type startCol)
Definition: vctFixedSizeConstMatrixRef.h:101
vctFixedSizeConstMatrixRef< value_type, _rows, _cols, _rowStride, _colStride > ThisType
Definition: vctFixedSizeConstMatrixRef.h:67
vctFixedSizeConstMatrixRef(const vctFixedSizeConstMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix, size_type startRow, size_type startCol)
Definition: vctFixedSizeConstMatrixRef.h:92
vctFixedSizeConstMatrixRef(pointer p)
Definition: vctFixedSizeConstMatrixRef.h:76