matrix_template< T > Class Template Reference

#include <matrix_template.h>

List of all members.

Public Member Functions

 matrix_template (void)
 matrix_template (size_t n, size_t m)
 matrix_template (const T &val, size_t n, size_t m)
 matrix_template (const T *p, size_t n, size_t m)
 matrix_template (const std::valarray< T > &vv, size_t n, size_t m)
size_t rows (void) const
size_t columns (void) const
operator() (size_t i, size_t j) const
T & operator() (size_t i, size_t j)

Protected Attributes

size_t nrows
 number of rows
size_t ncols
 number of columns
std::valarray< T > v

Friends

template<class TT >
matrix_template< TT > operator+ (const matrix_template< TT > &v1, const matrix_template< TT > &v2)
template<class TT >
matrix_template< TT > operator- (const matrix_template< TT > &v1, const matrix_template< TT > &v2)
template<class TT >
matrix_template< TT > operator+ (const matrix_template< TT > &v1)
template<class TT >
matrix_template< TT > operator- (const matrix_template< TT > &v1)
template<class TT , class SS >
matrix_template< TT > operator* (const SS &c, const matrix_template< TT > &v2)
template<class TT , class SS >
matrix_template< TT > operator* (const matrix_template< TT > &v1, const SS &c)
template<class TT , class SS >
matrix_template< TT > operator/ (const matrix_template< TT > &v1, const SS &c)
template<class TT >
matrix_template< TT > operator* (const matrix_template< TT > &v1, const matrix_template< TT > &v2)
template<class TT >
vector_template< TT > operator* (const matrix_template< TT > &v1, const vector_template< TT > &v2)
template<class TT >
vector_template< TT > operator* (const vector_template< TT > &v1, const matrix_template< TT > &v2)
template<class TT >
std::ostream & operator<< (std::ostream &os, const matrix_template< TT > &v)

Detailed Description

template<class T>
class pdf::matrix_template< T >

The class matrix_template is a template class for two-dimensional matrices.

The representation is based on a valarray with value semantics. This class is designed for matrices of modest size.

The interface is more restricted than for a valarray, e.g. there is no operator+ (const matrix_template<T> & v1, const T & c).

If efficiency becomes an issue, one can defer evaluation and introduce closures (B. Stroustrup, The C++ Programming Language, 3rd edition, 22.4.7)


Constructor & Destructor Documentation

matrix_template ( void   )  [inline]

Default constructor

matrix_template ( size_t  n,
size_t  m 
) [inline]

Construct a matrix_template of size $ n \times m $.

matrix_template ( const T &  val,
size_t  n,
size_t  m 
) [inline]

Construct a matrix_template of size $ n \times m $ and initialize each component with val.

matrix_template ( const T *  p,
size_t  n,
size_t  m 
) [inline]

Construct from an array.

matrix_template ( const std::valarray< T > &  vv,
size_t  n,
size_t  m 
) [inline]

Construct from a valarray.


Member Function Documentation

size_t columns ( void   )  const [inline]

Returns the number of columns of a matrix_template.

T & operator() ( size_t  i,
size_t  j 
) [inline]

Subscription via ()

T operator() ( size_t  i,
size_t  j 
) const [inline]

Subscription via ()

size_t rows ( void   )  const [inline]

Returns the number of rows of a matrix_template.


The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.2-20100208