Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
CDPL::Math::CMatrix< T, M, N > Class Template Reference

Fixed-size dense matrix of dimensions M \( \times \) N backed by a 2D C-array (no dynamic allocation). More...

#include <Matrix.hpp>

+ Inheritance diagram for CDPL::Math::CMatrix< T, M, N >:

Public Types

typedef T ValueType
 The scalar value type. More...
 
typedef T & Reference
 Mutable reference type to an element. More...
 
typedef const T & ConstReference
 Constant reference type to an element. More...
 
typedef std::size_t SizeType
 The unsigned size type. More...
 
typedef std::ptrdiff_t DifferenceType
 The signed difference type. More...
 
typedef ValueType ArrayType[M][N]
 The fixed-size 2D C-array type used for in-memory storage of M \( \times \) N elements. More...
 
typedef T(* ArrayPointer)[N]
 Pointer-to-row type for raw access to the element array. More...
 
typedef const T(* ConstArrayPointer)[N]
 Constant pointer-to-row type for raw access to the element array. More...
 
typedef T * Pointer
 Pointer type to a single element. More...
 
typedef const T * ConstPointer
 Constant pointer type to a single element. More...
 
typedef MatrixReference< SelfTypeClosureType
 Closure type used when this matrix appears inside another expression. More...
 
typedef const MatrixReference< const SelfTypeConstClosureType
 Constant closure type used when this matrix appears inside another expression. More...
 
typedef BoundedMatrix< T, M, N > MatrixTemporaryType
 Concrete temporary matrix type used by expression-template machinery (a Math::BoundedMatrix of equal capacity). More...
 
typedef BoundedVector< T, M *N > VectorTemporaryType
 Concrete temporary vector type used when assembling vectors from this matrix. More...
 
typedef std::shared_ptr< SelfTypeSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated CMatrix instances. More...
 
typedef std::initializer_list< std::initializer_list< T > > InitializerListType
 The initializer-list-of-rows type accepted by constructors and assignment. More...
 
- Public Types inherited from CDPL::Math::MatrixContainer< CMatrix< T, M, N > >
typedef CMatrix< T, M, N > ContainerType
 The derived matrix container type. More...
 
- Public Types inherited from CDPL::Math::MatrixExpression< E >
typedef E ExpressionType
 The derived matrix expression type. More...
 
- Public Types inherited from CDPL::Math::Expression< E >
typedef E ExpressionType
 The derived expression type (made available to expression-template machinery). More...
 

Public Member Functions

 CMatrix ()
 Constructs a zero-initialized \( M \times N \) matrix. More...
 
 CMatrix (const ValueType &v)
 Constructs an \( M \times N \) matrix with every element initialized to v. More...
 
 CMatrix (const CMatrix &m)
 Constructs a copy of the fixed-size matrix m. More...
 
 CMatrix (InitializerListType l)
 Constructs a fixed-size matrix with the contents of the initializer list of rows l. More...
 
template<typename E >
 CMatrix (const MatrixExpression< E > &e)
 Constructs a fixed-size matrix from the matrix expression e. More...
 
Reference operator() (SizeType i, SizeType j)
 Returns a mutable reference to the element at (i, j). More...
 
ConstReference operator() (SizeType i, SizeType j) const
 Returns a const reference to the element at (i, j). More...
 
bool isEmpty () const
 Tells whether the matrix is empty (M or N is zero). More...
 
SizeType getSize1 () const
 Returns the fixed row count M. More...
 
SizeType getSize2 () const
 Returns the fixed column count N. More...
 
SizeType getMaxSize1 () const
 Returns the fixed row count M (capacity equals size for Math::CMatrix). More...
 
SizeType getMaxSize2 () const
 Returns the fixed column count N (capacity equals size for Math::CMatrix). More...
 
ArrayPointer getData ()
 Returns a mutable pointer-to-row to the contiguous 2D element array. More...
 
ConstArrayPointer getData () const
 Returns a const pointer-to-row to the contiguous 2D element array. More...
 
CMatrixoperator= (const CMatrix &m)
 Copy-assigns the elements of m to this fixed-size matrix. More...
 
template<typename C >
CMatrixoperator= (const MatrixContainer< C > &c)
 Assigns the contents of the matrix container c to this fixed-size matrix (no alias check needed). More...
 
template<typename T1 >
CMatrixoperator= (InitializerListType l)
 Assigns the rows in l to this fixed-size matrix (clipped or zero-padded to M \( \times \) N). More...
 
template<typename E >
CMatrixoperator= (const MatrixExpression< E > &e)
 Assigns the matrix expression e to this fixed-size matrix (via a temporary to handle aliasing). More...
 
template<typename C >
CMatrixoperator+= (const MatrixContainer< C > &c)
 Adds the contents of the matrix container c element-wise to this fixed-size matrix (no alias check needed). More...
 
CMatrixoperator+= (InitializerListType l)
 Adds the rows in l element-wise to this fixed-size matrix. More...
 
template<typename E >
CMatrixoperator+= (const MatrixExpression< E > &e)
 Adds the matrix expression e element-wise to this fixed-size matrix (via a temporary to handle aliasing). More...
 
template<typename C >
CMatrixoperator-= (const MatrixContainer< C > &c)
 Subtracts the contents of the matrix container c element-wise from this fixed-size matrix (no alias check needed). More...
 
CMatrixoperator-= (InitializerListType l)
 Subtracts the rows in l element-wise from this fixed-size matrix. More...
 
template<typename E >
CMatrixoperator-= (const MatrixExpression< E > &e)
 Subtracts the matrix expression e element-wise from this fixed-size matrix (via a temporary to handle aliasing). More...
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, CMatrix >::type & operator*= (const T1 &t)
 Multiplies every element by the scalar t. More...
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, CMatrix >::type & operator/= (const T1 &t)
 Divides every element by the scalar t. More...
 
template<typename E >
CMatrixassign (const MatrixExpression< E > &e)
 Assigns the elements of the matrix expression e to this fixed-size matrix without intermediate temporary. More...
 
CMatrixassign (InitializerListType l)
 Assigns the rows in l to this fixed-size matrix (clipped or zero-padded to M \( \times \) N). More...
 
template<typename E >
CMatrixplusAssign (const MatrixExpression< E > &e)
 Adds the elements of the matrix expression e to this matrix without intermediate temporary. More...
 
CMatrixplusAssign (InitializerListType l)
 Adds the rows in l element-wise to this matrix without intermediate temporary. More...
 
template<typename E >
CMatrixminusAssign (const MatrixExpression< E > &e)
 Subtracts the elements of the matrix expression e from this matrix without intermediate temporary. More...
 
CMatrixminusAssign (InitializerListType l)
 Subtracts the rows in l element-wise from this matrix without intermediate temporary. More...
 
void swap (CMatrix &m)
 Swaps the contents of this fixed-size matrix with those of m. More...
 
void clear (const ValueType &v=ValueType())
 Sets every element of the matrix to the value v. More...
 
- Public Member Functions inherited from CDPL::Math::MatrixContainer< CMatrix< T, M, N > >
const ContainerTypeoperator() () const
 Returns a const reference to the derived matrix container. More...
 
ContainerTypeoperator() ()
 Returns a reference to the derived matrix container. More...
 
- Public Member Functions inherited from CDPL::Math::MatrixExpression< E >
const ExpressionTypeoperator() () const
 Returns a const reference to the derived matrix expression. More...
 
ExpressionTypeoperator() ()
 Returns a reference to the derived matrix expression. More...
 

Static Public Attributes

static const SizeType Size1 = M
 The compile-time fixed row count M. More...
 
static const SizeType Size2 = N
 The compile-time fixed column count N. More...
 

Friends

void swap (CMatrix &m1, CMatrix &m2)
 ADL-enabled free-function form of swap(). More...
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Math::MatrixContainer< CMatrix< T, M, N > >
 MatrixContainer ()
 
 ~MatrixContainer ()
 
- Protected Member Functions inherited from CDPL::Math::MatrixExpression< E >
 MatrixExpression ()
 
 ~MatrixExpression ()
 
- Protected Member Functions inherited from CDPL::Math::Expression< E >
 Expression ()
 
 ~Expression ()
 

Detailed Description

template<typename T, std::size_t M, std::size_t N>
class CDPL::Math::CMatrix< T, M, N >

Fixed-size dense matrix of dimensions M \( \times \) N backed by a 2D C-array (no dynamic allocation).

Template Parameters
TThe scalar value type.
MThe fixed number of rows.
NThe fixed number of columns.

Member Typedef Documentation

◆ ValueType

template<typename T , std::size_t M, std::size_t N>
typedef T CDPL::Math::CMatrix< T, M, N >::ValueType

The scalar value type.

◆ Reference

template<typename T , std::size_t M, std::size_t N>
typedef T& CDPL::Math::CMatrix< T, M, N >::Reference

Mutable reference type to an element.

◆ ConstReference

template<typename T , std::size_t M, std::size_t N>
typedef const T& CDPL::Math::CMatrix< T, M, N >::ConstReference

Constant reference type to an element.

◆ SizeType

template<typename T , std::size_t M, std::size_t N>
typedef std::size_t CDPL::Math::CMatrix< T, M, N >::SizeType

The unsigned size type.

◆ DifferenceType

template<typename T , std::size_t M, std::size_t N>
typedef std::ptrdiff_t CDPL::Math::CMatrix< T, M, N >::DifferenceType

The signed difference type.

◆ ArrayType

template<typename T , std::size_t M, std::size_t N>
typedef ValueType CDPL::Math::CMatrix< T, M, N >::ArrayType[M][N]

The fixed-size 2D C-array type used for in-memory storage of M \( \times \) N elements.

◆ ArrayPointer

template<typename T , std::size_t M, std::size_t N>
typedef T(* CDPL::Math::CMatrix< T, M, N >::ArrayPointer)[N]

Pointer-to-row type for raw access to the element array.

◆ ConstArrayPointer

template<typename T , std::size_t M, std::size_t N>
typedef const T(* CDPL::Math::CMatrix< T, M, N >::ConstArrayPointer)[N]

Constant pointer-to-row type for raw access to the element array.

◆ Pointer

template<typename T , std::size_t M, std::size_t N>
typedef T* CDPL::Math::CMatrix< T, M, N >::Pointer

Pointer type to a single element.

◆ ConstPointer

template<typename T , std::size_t M, std::size_t N>
typedef const T* CDPL::Math::CMatrix< T, M, N >::ConstPointer

Constant pointer type to a single element.

◆ ClosureType

template<typename T , std::size_t M, std::size_t N>
typedef MatrixReference<SelfType> CDPL::Math::CMatrix< T, M, N >::ClosureType

Closure type used when this matrix appears inside another expression.

◆ ConstClosureType

template<typename T , std::size_t M, std::size_t N>
typedef const MatrixReference<const SelfType> CDPL::Math::CMatrix< T, M, N >::ConstClosureType

Constant closure type used when this matrix appears inside another expression.

◆ MatrixTemporaryType

template<typename T , std::size_t M, std::size_t N>
typedef BoundedMatrix<T, M, N> CDPL::Math::CMatrix< T, M, N >::MatrixTemporaryType

Concrete temporary matrix type used by expression-template machinery (a Math::BoundedMatrix of equal capacity).

◆ VectorTemporaryType

template<typename T , std::size_t M, std::size_t N>
typedef BoundedVector<T, M * N> CDPL::Math::CMatrix< T, M, N >::VectorTemporaryType

Concrete temporary vector type used when assembling vectors from this matrix.

◆ SharedPointer

template<typename T , std::size_t M, std::size_t N>
typedef std::shared_ptr<SelfType> CDPL::Math::CMatrix< T, M, N >::SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated CMatrix instances.

◆ InitializerListType

template<typename T , std::size_t M, std::size_t N>
typedef std::initializer_list<std::initializer_list<T> > CDPL::Math::CMatrix< T, M, N >::InitializerListType

The initializer-list-of-rows type accepted by constructors and assignment.

Constructor & Destructor Documentation

◆ CMatrix() [1/5]

template<typename T , std::size_t M, std::size_t N>
CDPL::Math::CMatrix< T, M, N >::CMatrix ( )
inline

Constructs a zero-initialized \( M \times N \) matrix.

◆ CMatrix() [2/5]

template<typename T , std::size_t M, std::size_t N>
CDPL::Math::CMatrix< T, M, N >::CMatrix ( const ValueType v)
inlineexplicit

Constructs an \( M \times N \) matrix with every element initialized to v.

Parameters
vThe initial element value.

◆ CMatrix() [3/5]

template<typename T , std::size_t M, std::size_t N>
CDPL::Math::CMatrix< T, M, N >::CMatrix ( const CMatrix< T, M, N > &  m)
inline

Constructs a copy of the fixed-size matrix m.

Parameters
mThe fixed-size matrix to copy.

◆ CMatrix() [4/5]

template<typename T , std::size_t M, std::size_t N>
CDPL::Math::CMatrix< T, M, N >::CMatrix ( InitializerListType  l)
inline

Constructs a fixed-size matrix with the contents of the initializer list of rows l.

Parameters
lThe initializer list of rows (clipped or zero-padded to M \( \times \) N).

◆ CMatrix() [5/5]

template<typename T , std::size_t M, std::size_t N>
template<typename E >
CDPL::Math::CMatrix< T, M, N >::CMatrix ( const MatrixExpression< E > &  e)
inline

Constructs a fixed-size matrix from the matrix expression e.

Template Parameters
EThe source matrix expression type.
Parameters
eThe source matrix expression.

Member Function Documentation

◆ operator()() [1/2]

template<typename T , std::size_t M, std::size_t N>
Reference CDPL::Math::CMatrix< T, M, N >::operator() ( SizeType  i,
SizeType  j 
)
inline

Returns a mutable reference to the element at (i, j).

Parameters
iThe zero-based row index.
jThe zero-based column index.
Returns
A mutable reference to the element.
Exceptions
Base::IndexErrorif either index is out of range.

◆ operator()() [2/2]

template<typename T , std::size_t M, std::size_t N>
ConstReference CDPL::Math::CMatrix< T, M, N >::operator() ( SizeType  i,
SizeType  j 
) const
inline

Returns a const reference to the element at (i, j).

Parameters
iThe zero-based row index.
jThe zero-based column index.
Returns
A const reference to the element.
Exceptions
Base::IndexErrorif either index is out of range.

◆ isEmpty()

template<typename T , std::size_t M, std::size_t N>
bool CDPL::Math::CMatrix< T, M, N >::isEmpty ( ) const
inline

Tells whether the matrix is empty (M or N is zero).

Returns
true if either M or N is zero, and false otherwise.

◆ getSize1()

template<typename T , std::size_t M, std::size_t N>
SizeType CDPL::Math::CMatrix< T, M, N >::getSize1 ( ) const
inline

Returns the fixed row count M.

Returns
The number of rows.

◆ getSize2()

template<typename T , std::size_t M, std::size_t N>
SizeType CDPL::Math::CMatrix< T, M, N >::getSize2 ( ) const
inline

Returns the fixed column count N.

Returns
The number of columns.

◆ getMaxSize1()

template<typename T , std::size_t M, std::size_t N>
SizeType CDPL::Math::CMatrix< T, M, N >::getMaxSize1 ( ) const
inline

Returns the fixed row count M (capacity equals size for Math::CMatrix).

Returns
The number of rows.

◆ getMaxSize2()

template<typename T , std::size_t M, std::size_t N>
SizeType CDPL::Math::CMatrix< T, M, N >::getMaxSize2 ( ) const
inline

Returns the fixed column count N (capacity equals size for Math::CMatrix).

Returns
The number of columns.

◆ getData() [1/2]

template<typename T , std::size_t M, std::size_t N>
ArrayPointer CDPL::Math::CMatrix< T, M, N >::getData ( )
inline

Returns a mutable pointer-to-row to the contiguous 2D element array.

Returns
A mutable array pointer.

◆ getData() [2/2]

template<typename T , std::size_t M, std::size_t N>
ConstArrayPointer CDPL::Math::CMatrix< T, M, N >::getData ( ) const
inline

Returns a const pointer-to-row to the contiguous 2D element array.

Returns
A const array pointer.

◆ operator=() [1/4]

template<typename T , std::size_t M, std::size_t N>
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator= ( const CMatrix< T, M, N > &  m)
inline

Copy-assigns the elements of m to this fixed-size matrix.

Parameters
mThe source fixed-size matrix.
Returns
A reference to itself.

◆ operator=() [2/4]

template<typename T , std::size_t M, std::size_t N>
template<typename C >
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator= ( const MatrixContainer< C > &  c)
inline

Assigns the contents of the matrix container c to this fixed-size matrix (no alias check needed).

Template Parameters
CThe source matrix container type.
Parameters
cThe source matrix container.
Returns
A reference to itself.

◆ operator=() [3/4]

template<typename T , std::size_t M, std::size_t N>
template<typename T1 >
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator= ( InitializerListType  l)
inline

Assigns the rows in l to this fixed-size matrix (clipped or zero-padded to M \( \times \) N).

Parameters
lThe initializer list of rows.
Returns
A reference to itself.

◆ operator=() [4/4]

template<typename T , std::size_t M, std::size_t N>
template<typename E >
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator= ( const MatrixExpression< E > &  e)
inline

Assigns the matrix expression e to this fixed-size matrix (via a temporary to handle aliasing).

Template Parameters
EThe source matrix expression type.
Parameters
eThe source matrix expression.
Returns
A reference to itself.

◆ operator+=() [1/3]

template<typename T , std::size_t M, std::size_t N>
template<typename C >
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator+= ( const MatrixContainer< C > &  c)
inline

Adds the contents of the matrix container c element-wise to this fixed-size matrix (no alias check needed).

Template Parameters
CThe source matrix container type.
Parameters
cThe source matrix container.
Returns
A reference to itself.

◆ operator+=() [2/3]

template<typename T , std::size_t M, std::size_t N>
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator+= ( InitializerListType  l)
inline

Adds the rows in l element-wise to this fixed-size matrix.

Parameters
lThe initializer list of rows providing the addends.
Returns
A reference to itself.

◆ operator+=() [3/3]

template<typename T , std::size_t M, std::size_t N>
template<typename E >
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator+= ( const MatrixExpression< E > &  e)
inline

Adds the matrix expression e element-wise to this fixed-size matrix (via a temporary to handle aliasing).

Template Parameters
EThe source matrix expression type.
Parameters
eThe source matrix expression.
Returns
A reference to itself.

◆ operator-=() [1/3]

template<typename T , std::size_t M, std::size_t N>
template<typename C >
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator-= ( const MatrixContainer< C > &  c)
inline

Subtracts the contents of the matrix container c element-wise from this fixed-size matrix (no alias check needed).

Template Parameters
CThe source matrix container type.
Parameters
cThe source matrix container.
Returns
A reference to itself.

◆ operator-=() [2/3]

template<typename T , std::size_t M, std::size_t N>
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator-= ( InitializerListType  l)
inline

Subtracts the rows in l element-wise from this fixed-size matrix.

Parameters
lThe initializer list of rows providing the subtrahends.
Returns
A reference to itself.

◆ operator-=() [3/3]

template<typename T , std::size_t M, std::size_t N>
template<typename E >
CMatrix& CDPL::Math::CMatrix< T, M, N >::operator-= ( const MatrixExpression< E > &  e)
inline

Subtracts the matrix expression e element-wise from this fixed-size matrix (via a temporary to handle aliasing).

Template Parameters
EThe source matrix expression type.
Parameters
eThe source matrix expression.
Returns
A reference to itself.

◆ operator*=()

template<typename T , std::size_t M, std::size_t N>
template<typename T1 >
std::enable_if<IsScalar<T1>::value, CMatrix>::type& CDPL::Math::CMatrix< T, M, N >::operator*= ( const T1 &  t)
inline

Multiplies every element by the scalar t.

Template Parameters
T1The scalar type.
Parameters
tThe scalar multiplier.
Returns
A reference to itself.

◆ operator/=()

template<typename T , std::size_t M, std::size_t N>
template<typename T1 >
std::enable_if<IsScalar<T1>::value, CMatrix>::type& CDPL::Math::CMatrix< T, M, N >::operator/= ( const T1 &  t)
inline

Divides every element by the scalar t.

Template Parameters
T1The scalar type.
Parameters
tThe scalar divisor.
Returns
A reference to itself.

◆ assign() [1/2]

template<typename T , std::size_t M, std::size_t N>
template<typename E >
CMatrix& CDPL::Math::CMatrix< T, M, N >::assign ( const MatrixExpression< E > &  e)
inline

Assigns the elements of the matrix expression e to this fixed-size matrix without intermediate temporary.

Template Parameters
EThe source matrix expression type.
Parameters
eThe source matrix expression.
Returns
A reference to itself.

◆ assign() [2/2]

template<typename T , std::size_t M, std::size_t N>
CMatrix& CDPL::Math::CMatrix< T, M, N >::assign ( InitializerListType  l)
inline

Assigns the rows in l to this fixed-size matrix (clipped or zero-padded to M \( \times \) N).

Parameters
lThe initializer list of rows.
Returns
A reference to itself.
Exceptions
Base::SizeErrorif l.size() exceeds M or any row's size exceeds N.

◆ plusAssign() [1/2]

template<typename T , std::size_t M, std::size_t N>
template<typename E >
CMatrix& CDPL::Math::CMatrix< T, M, N >::plusAssign ( const MatrixExpression< E > &  e)
inline

Adds the elements of the matrix expression e to this matrix without intermediate temporary.

Template Parameters
EThe source matrix expression type.
Parameters
eThe source matrix expression.
Returns
A reference to itself.

◆ plusAssign() [2/2]

template<typename T , std::size_t M, std::size_t N>
CMatrix& CDPL::Math::CMatrix< T, M, N >::plusAssign ( InitializerListType  l)
inline

Adds the rows in l element-wise to this matrix without intermediate temporary.

Parameters
lThe initializer list of rows providing the addends.
Returns
A reference to itself.

◆ minusAssign() [1/2]

template<typename T , std::size_t M, std::size_t N>
template<typename E >
CMatrix& CDPL::Math::CMatrix< T, M, N >::minusAssign ( const MatrixExpression< E > &  e)
inline

Subtracts the elements of the matrix expression e from this matrix without intermediate temporary.

Template Parameters
EThe source matrix expression type.
Parameters
eThe source matrix expression.
Returns
A reference to itself.

◆ minusAssign() [2/2]

template<typename T , std::size_t M, std::size_t N>
CMatrix& CDPL::Math::CMatrix< T, M, N >::minusAssign ( InitializerListType  l)
inline

Subtracts the rows in l element-wise from this matrix without intermediate temporary.

Parameters
lThe initializer list of rows providing the subtrahends.
Returns
A reference to itself.

◆ swap()

template<typename T , std::size_t M, std::size_t N>
void CDPL::Math::CMatrix< T, M, N >::swap ( CMatrix< T, M, N > &  m)
inline

Swaps the contents of this fixed-size matrix with those of m.

Parameters
mThe fixed-size matrix to swap with.

◆ clear()

template<typename T , std::size_t M, std::size_t N>
void CDPL::Math::CMatrix< T, M, N >::clear ( const ValueType v = ValueType())
inline

Sets every element of the matrix to the value v.

Parameters
vThe fill value.

Friends And Related Function Documentation

◆ swap

template<typename T , std::size_t M, std::size_t N>
void swap ( CMatrix< T, M, N > &  m1,
CMatrix< T, M, N > &  m2 
)
friend

ADL-enabled free-function form of swap().

Parameters
m1The first fixed-size matrix.
m2The second fixed-size matrix.

Member Data Documentation

◆ Size1

template<typename T , std::size_t M, std::size_t N>
const CMatrix< T, M, N >::SizeType CDPL::Math::CMatrix< T, M, N >::Size1 = M
static

The compile-time fixed row count M.

◆ Size2

template<typename T , std::size_t M, std::size_t N>
const CMatrix< T, M, N >::SizeType CDPL::Math::CMatrix< T, M, N >::Size2 = N
static

The compile-time fixed column count N.


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