Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Protected Types | Related Functions

Matrix< Value > Class Template Reference
[Datastructures]

A two-dimensional matrix. Similar to std::vector, but uses a binary operator(,) for element access. More...

#include <OpenMS/DATASTRUCTURES/Matrix.h>

Inherits std::vector< Value >.

List of all members.

Public Types

STL compliance type definitions

typedef Base container_type
typedef Base::difference_type difference_type
typedef Base::size_type size_type
typedef Base::const_iterator const_iterator
typedef
Base::const_reverse_iterator 
const_reverse_iterator
typedef Base::iterator iterator
typedef Base::reverse_iterator reverse_iterator
typedef Base::const_reference const_reference
typedef Base::pointer pointer
typedef Base::reference reference
typedef Base::value_type value_type
typedef Base::allocator_type allocator_type
OpenMS compliance type definitions

typedef Base ContainerType
typedef difference_type DifferenceType
typedef size_type SizeType
typedef const_iterator ConstIterator
typedef const_reverse_iterator ConstReverseIterator
typedef iterator Iterator
typedef reverse_iterator ReverseIterator
typedef const_reference ConstReference
typedef pointer Pointer
typedef reference Reference
typedef value_type ValueType
typedef allocator_type AllocatorType

Public Member Functions

void clear ()
void resize (size_type i, size_type j, value_type value=value_type())
void resize (std::pair< Size, Size > const &size_pair, value_type value=value_type())
SizeType rows () const
 Number of rows.
SizeType cols () const
 Number of columns.
std::pair< Size, SizesizePair () const
SizeType const index (SizeType row, SizeType col) const
 Calculate the index into the underlying vector from row and column. Note that Matrix uses the (row,column) lexicographic ordering for indexing.
std::pair< Size, Size > const indexPair (Size index) const
 Calculate the row and column from an index into the underlying vector. Note that Matrix uses the (row,column) lexicographic ordering for indexing.
SizeType colIndex (SizeType index) const
 Calculate the column from an index into the underlying vector. Note that Matrix uses the (row,column) lexicographic ordering for indexing.
SizeType rowIndex (SizeType index) const
 Calculate the row from an index into the underlying vector. Note that Matrix uses the (row,column) lexicographic ordering for indexing.
bool operator== (Matrix const &rhs) const
 Equality comparator.
bool operator< (Matrix const &rhs) const
 Less-than comparator. Comparison is done lexicographically: first by row, then by column.
template<int ROWS, int COLS>
void setMatrix (const ValueType matrix[ROWS][COLS])
 set matrix to 2D arrays values
gsl_matrix * toGslMatrix ()
 create gsl_matrix*
Constructors, assignment, and destructor

 Matrix ()
 Matrix (const SizeType rows, const SizeType cols, ValueType value=ValueType())
 Matrix (const Matrix &source)
Matrixoperator= (const Matrix &rhs)
 ~Matrix ()
Accessors

const_reference operator() (size_type const i, size_type const j) const
reference operator() (size_type const i, size_type const j)
const_reference getValue (size_type const i, size_type const j) const
reference getValue (size_type const i, size_type const j)
void setValue (size_type const i, size_type const j, value_type value)
container_type row (size_type const i) const
 Return the i-th row of the matrix as a vector.
container_type col (size_type const i) const
 Return the i-th column of the matrix as a vector.

Protected Types

typedef std::vector< Value > Base

Protected Attributes

Data members

SizeType rows_
 Number of rows (height of a column).
SizeType cols_
 Number of columns (width of a row).

Related Functions

(Note that these are not member functions.)



template<typename Value >
std::ostream & operator<< (std::ostream &os, const Matrix< Value > &matrix)
 Print the contents to a stream.

Detailed Description

template<typename Value>
class OpenMS::Matrix< Value >

A two-dimensional matrix. Similar to std::vector, but uses a binary operator(,) for element access.

Think of it as a random access container. You can also generate gray scale images. This data structure is not designed to be used for linear algebra, but rather a simple two-dimensional array.

The following member functions of the base class std::vector<ValueType> can also be used:


Member Typedef Documentation

typedef Base::allocator_type allocator_type
typedef std::vector<Value> Base [protected]
typedef Base::const_iterator const_iterator
typedef Base::const_reference const_reference
typedef Base::const_reverse_iterator const_reverse_iterator
typedef Base::difference_type difference_type
typedef iterator Iterator
typedef Base::iterator iterator
typedef pointer Pointer
typedef Base::pointer pointer
typedef Base::reference reference
typedef Base::reverse_iterator reverse_iterator
typedef Base::size_type size_type
typedef Base::value_type value_type

Constructor & Destructor Documentation

Matrix (  )  [inline]
Matrix ( const SizeType  rows,
const SizeType  cols,
ValueType  value = ValueType() 
) [inline]
Matrix ( const Matrix< Value > &  source  )  [inline]
~Matrix (  )  [inline]

Member Function Documentation

void clear (  )  [inline]
container_type col ( size_type const   i  )  const [inline]

Return the i-th column of the matrix as a vector.

SizeType colIndex ( SizeType  index  )  const [inline]

Calculate the column from an index into the underlying vector. Note that Matrix uses the (row,column) lexicographic ordering for indexing.

SizeType cols (  )  const [inline]
const_reference getValue ( size_type const   i,
size_type const   j 
) const [inline]
reference getValue ( size_type const   i,
size_type const   j 
) [inline]
SizeType const index ( SizeType  row,
SizeType  col 
) const [inline]

Calculate the index into the underlying vector from row and column. Note that Matrix uses the (row,column) lexicographic ordering for indexing.

Referenced by Matrix< DoubleReal >::col(), Matrix< DoubleReal >::getValue(), Matrix< DoubleReal >::row(), and Matrix< DoubleReal >::setValue().

std::pair<Size, Size> const indexPair ( Size  index  )  const [inline]

Calculate the row and column from an index into the underlying vector. Note that Matrix uses the (row,column) lexicographic ordering for indexing.

const_reference operator() ( size_type const   i,
size_type const   j 
) const [inline]
reference operator() ( size_type const   i,
size_type const   j 
) [inline]
bool operator< ( Matrix< Value > const &  rhs  )  const [inline]

Less-than comparator. Comparison is done lexicographically: first by row, then by column.

If matrices have different row or column numbers, throws a precondition exception.

Matrix& operator= ( const Matrix< Value > &  rhs  )  [inline]
bool operator== ( Matrix< Value > const &  rhs  )  const [inline]

Equality comparator.

If matrices have different row or colmn numbers, throws a precondition exception.

void resize ( std::pair< Size, Size > const &  size_pair,
value_type  value = value_type() 
) [inline]
void resize ( size_type  i,
size_type  j,
value_type  value = value_type() 
) [inline]
container_type row ( size_type const   i  )  const [inline]

Return the i-th row of the matrix as a vector.

SizeType rowIndex ( SizeType  index  )  const [inline]

Calculate the row from an index into the underlying vector. Note that Matrix uses the (row,column) lexicographic ordering for indexing.

SizeType rows (  )  const [inline]
void setMatrix ( const ValueType  matrix[ROWS][COLS]  )  [inline]

set matrix to 2D arrays values

void setValue ( size_type const   i,
size_type const   j,
value_type  value 
) [inline]
std::pair<Size, Size> sizePair (  )  const [inline]
gsl_matrix* toGslMatrix (  )  [inline]

create gsl_matrix*

allocate and return an equivalent GSL matrix

Note:
Works only for Matrix<double> and Matrix<float>
Clean up the gsl_matrix using gsl_matrix_free (gsl_matrix * m)

Friends And Related Function Documentation

std::ostream & operator<< ( std::ostream &  os,
const Matrix< Value > &  matrix 
) [related]

Print the contents to a stream.


Member Data Documentation

SizeType cols_ [protected]
SizeType rows_ [protected]

OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:52 using doxygen 1.7.1