ICRS Eurobot 2013

Dependencies:   mbed mbed-rtos Servo QEI

Embed: (wiki syntax)

« Back to documentation index

Matrix< T, NRows, NCols > Class Template Reference

Matrix< T, NRows, NCols > Class Template Reference

A tiny matrix class. More...

#include <tvmet/Matrix.h>

Data Structures

struct  Info
 Structure for info printing as Matrix<T, Rows, Cols>. More...

Public Types

enum  { Rows = NRows, Cols = NCols, Size = Rows * Cols }
 

Dimensions.

More...
enum  
 

Complexity counter.

More...
typedef T value_type
 Data type of the tvmet::Matrix.
typedef T & reference
 Reference type of the tvmet::Matrix data elements.
typedef const T & const_reference
 const reference type of the tvmet::Matrix data elements.
typedef T * iterator
 STL iterator interface.
typedef const T * const_iterator
 STL const_iterator interface.
typedef std::reverse_iterator
< iterator
reverse_iterator
 STL reverse iterator interface.
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 STL const reverse iterator interface.

Public Member Functions

iterator begin ()
 STL iterator interface.
iterator end ()
 STL iterator interface.
const_iterator begin () const
 STL const_iterator interface.
const_iterator end () const
 STL const_iterator interface.
reverse_iterator rbegin ()
 STL reverse iterator interface reverse begin.
const_reverse_iterator rbegin () const
 STL const reverse iterator interface reverse begin.
reverse_iterator rend ()
 STL reverse iterator interface reverse end.
const_reverse_iterator rend () const
 STL const reverse iterator interface reverse end.
 ~Matrix ()
 Default Destructor.
 Matrix ()
 Default Constructor.
 Matrix (const Matrix &rhs)
 Copy Constructor, not explicit!
template<class InputIterator >
 Matrix (InputIterator first, InputIterator last)
 Constructor with STL iterator interface.
template<class InputIterator >
 Matrix (InputIterator first, std::size_t sz)
 Constructor with STL iterator interface.
 Matrix (value_type rhs)
 Construct the matrix by value.
template<class E >
 Matrix (const XprMatrix< E, Rows, Cols > &e)
 Construct a matrix by expression.
CommaInitializer< Matrix, Size > operator= (value_type rhs)
 assign a value_type on array, this can be used for a single value or a comma separeted list of values.
ConstReference const_ref () const
 Return a const Reference of the internal data.
ConstReference const_sliceref () const
 Return a sliced const Reference of the internal data.
XprMatrix< ConstReference,
Rows, Cols > 
as_expr () const
 Return the vector as const expression.
template<class T2 >
Matrixoperator= (const Matrix< T2, Rows, Cols > &rhs)
 assign a given matrix of a different type T2 element wise to this matrix.
template<class E >
Matrixoperator= (const XprMatrix< E, Rows, Cols > &rhs)
 assign a given XprMatrix element wise to this matrix.
std::ostream & print_xpr (std::ostream &os, std::size_t l=0) const
 Member function for expression level printing.
std::ostream & print_on (std::ostream &os) const
 Member function for printing internal data.

Static Public Member Functions

static std::size_t size ()
 The size of the matrix.
static std::size_t max_size ()
 STL vector max_size() - returns allways rows()*cols().
static bool empty ()
 STL vector empty() - returns allways false.
static std::size_t rows ()
 The number of rows of matrix.
static std::size_t cols ()
 The number of columns of matrix.
static Info info ()
 Get an info object of this matrix.

Detailed Description

template<class T, std::size_t NRows, std::size_t NCols>
class tvmet::Matrix< T, NRows, NCols >

A tiny matrix class.

The array syntax A[j][j] isn't supported here. The reason is that operator[] always takes exactly one parameter, but operator() can take any number of parameters (in the case of a rectangular matrix, two paramters are needed). Therefore the cleanest way to do it is with operator() rather than with operator[].

See also:
C++ FAQ Lite 13.8

Definition at line 123 of file Matrix.h.


Member Typedef Documentation

typedef const T* const_iterator

STL const_iterator interface.

Definition at line 139 of file Matrix.h.

typedef const T& const_reference

const reference type of the tvmet::Matrix data elements.

Definition at line 133 of file Matrix.h.

typedef std::reverse_iterator<const_iterator> const_reverse_iterator

STL const reverse iterator interface.

Definition at line 145 of file Matrix.h.

typedef T* iterator

STL iterator interface.

Definition at line 136 of file Matrix.h.

typedef T& reference

Reference type of the tvmet::Matrix data elements.

Definition at line 130 of file Matrix.h.

typedef std::reverse_iterator<iterator> reverse_iterator

STL reverse iterator interface.

Definition at line 142 of file Matrix.h.

typedef T value_type

Data type of the tvmet::Matrix.

Definition at line 127 of file Matrix.h.


Member Enumeration Documentation

anonymous enum

Dimensions.

Enumerator:
Rows 

Number of rows.

Cols 

Number of cols.

Size 

Complete Size of Matrix.

Definition at line 149 of file Matrix.h.

anonymous enum

Complexity counter.

Definition at line 157 of file Matrix.h.


Constructor & Destructor Documentation

~Matrix (  )

Default Destructor.

Definition at line 210 of file Matrix.h.

Matrix (  ) [explicit]

Default Constructor.

The allocated memory region isn't cleared. If you want a clean use the constructor argument zero.

Definition at line 218 of file Matrix.h.

Matrix ( const Matrix< T, NRows, NCols > &  rhs )

Copy Constructor, not explicit!

Definition at line 225 of file Matrix.h.

Matrix ( InputIterator  first,
InputIterator  last 
) [explicit]

Constructor with STL iterator interface.

The data will be copied into the matrix self, there isn't any stored reference to the array pointer.

Definition at line 238 of file Matrix.h.

Matrix ( InputIterator  first,
std::size_t  sz 
) [explicit]

Constructor with STL iterator interface.

The data will be copied into the matrix self, there isn't any stored reference to the array pointer.

Definition at line 253 of file Matrix.h.

Matrix ( value_type  rhs ) [explicit]

Construct the matrix by value.

Definition at line 263 of file Matrix.h.

Matrix ( const XprMatrix< E, Rows, Cols > &  e ) [explicit]

Construct a matrix by expression.

Definition at line 274 of file Matrix.h.


Member Function Documentation

XprMatrix<ConstReference, Rows, Cols> as_expr (  ) const

Return the vector as const expression.

Definition at line 323 of file Matrix.h.

iterator begin (  )

STL iterator interface.

Definition at line 165 of file Matrix.h.

const_iterator begin (  ) const

STL const_iterator interface.

Definition at line 171 of file Matrix.h.

static std::size_t cols (  ) [static]

The number of columns of matrix.

Definition at line 206 of file Matrix.h.

ConstReference const_ref (  ) const

Return a const Reference of the internal data.

Definition at line 314 of file Matrix.h.

ConstReference const_sliceref (  ) const

Return a sliced const Reference of the internal data.

Note:
Doesn't work since isn't implemented, but it is in progress. Therefore this is a placeholder.

Definition at line 320 of file Matrix.h.

static bool empty (  ) [static]

STL vector empty() - returns allways false.

Definition at line 199 of file Matrix.h.

const_iterator end (  ) const

STL const_iterator interface.

Definition at line 174 of file Matrix.h.

iterator end (  )

STL iterator interface.

Definition at line 168 of file Matrix.h.

static Info info (  ) [static]

Get an info object of this matrix.

Definition at line 443 of file Matrix.h.

static std::size_t max_size (  ) [static]

STL vector max_size() - returns allways rows()*cols().

Definition at line 196 of file Matrix.h.

CommaInitializer<Matrix, Size> operator= ( value_type  rhs )

assign a value_type on array, this can be used for a single value or a comma separeted list of values.

Definition at line 284 of file Matrix.h.

Matrix& operator= ( const Matrix< T2, Rows, Cols > &  rhs )

assign a given matrix of a different type T2 element wise to this matrix.

The operator=(const Matrix&) is compiler generated.

Definition at line 355 of file Matrix.h.

Matrix& operator= ( const XprMatrix< E, Rows, Cols > &  rhs )

assign a given XprMatrix element wise to this matrix.

Definition at line 362 of file Matrix.h.

std::ostream & print_on ( std::ostream &  os ) const

Member function for printing internal data.

Definition at line 52 of file MatrixImpl.h.

std::ostream & print_xpr ( std::ostream &  os,
std::size_t  l = 0 
) const

Member function for expression level printing.

Definition at line 40 of file MatrixImpl.h.

const_reverse_iterator rbegin (  ) const

STL const reverse iterator interface reverse begin.

Definition at line 180 of file Matrix.h.

reverse_iterator rbegin (  )

STL reverse iterator interface reverse begin.

Definition at line 177 of file Matrix.h.

reverse_iterator rend (  )

STL reverse iterator interface reverse end.

Definition at line 185 of file Matrix.h.

const_reverse_iterator rend (  ) const

STL const reverse iterator interface reverse end.

Definition at line 188 of file Matrix.h.

static std::size_t rows (  ) [static]

The number of rows of matrix.

Definition at line 203 of file Matrix.h.

static std::size_t size (  ) [static]

The size of the matrix.

Definition at line 193 of file Matrix.h.