Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Protected Types | Related Functions | List of all members
Matrix< Value > Class Template Reference

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

#include <OpenMS/DATASTRUCTURES/Matrix.h>

Inheritance diagram for Matrix< Value >:

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. More...
 
SizeType cols () const
 Number of columns. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
bool operator== (Matrix const &rhs) const
 Equality comparator. More...
 
bool operator< (Matrix const &rhs) const
 Less-than comparator. Comparison is done lexicographically: first by row, then by column. More...
 
template<int ROWS, int COLS>
void setMatrix (const ValueType matrix[ROWS][COLS])
 set matrix to 2D arrays values More...
 
gsl_matrix * toGslMatrix ()
 create gsl_matrix* More...
 
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. More...
 
container_type col (size_type const i) const
 Return the i-th column of the matrix as a vector. More...
 

Protected Types

typedef std::vector< Value > Base
 

Protected Attributes

Data members
SizeType rows_
 Number of rows (height of a column) More...
 
SizeType cols_
 Number of columns (width of a row) More...
 
- Protected Attributes inherited from vector< T >
elements
 STL member. More...
 

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. More...
 

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 Base::iterator iterator
typedef iterator Iterator
typedef Base::pointer pointer
typedef 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.

Referenced by Matrix< unsigned int >::index().

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< unsigned int >::col(), Matrix< unsigned int >::getValue(), Matrix< unsigned int >::row(), and Matrix< unsigned int >::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 ( size_type  i,
size_type  j,
value_type  value = value_type() 
)
inline
void resize ( std::pair< Size, Size > const &  size_pair,
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.11.1 Documentation generated on Thu Nov 14 2013 11:19:29 using doxygen 1.8.5