Generated on Mon Aug 25 11:35:53 2008 for Gecode by doxygen 1.5.6

Gecode::MiniModel::Matrix< A > Class Template Reference
[Matrix interface for arrays]

#include <minimodel.hh>

List of all members.


Detailed Description

template<class A>
class Gecode::MiniModel::Matrix< A >

Matrix-interface for arrays.

This class allows for wrapping some array and accessing it as a matrix.

Note:
This is a light-weight wrapper, and is not intended for storing variables directly instead of in an array.

Definition at line 1095 of file minimodel.hh.


Public Types

typedef ArrayTraits< A >
::value_type 
value_type
 The type of elements of this array.
typedef ArrayTraits< A >::args_type args_type
 The type of the Args-array type for value_type values.

Public Member Functions

 Matrix (A a, unsigned int w, unsigned int h)
 Basic constructor.
 Matrix (A a, unsigned int n)
 Basic constructor.
unsigned int width (void) const
 Return the width of the matrix.
unsigned int height (void) const
 Return the height of the matrix.
args_type const get_array (void)
 Return an Args-array of the contents of the matrix.
value_typeoperator() (unsigned int c, unsigned int r)
 Access element (c, r) of the matrix.
Slice slice (unsigned int fc, unsigned int tc, unsigned int fr, unsigned int tr)
 Access slice of the matrix.
Slice row (int r)
 Access row r.
Slice col (int c)
 Access column c.

Classes

class  Slice
 A slice of a matrix. More...

Member Typedef Documentation

template<class A>
typedef ArrayTraits<A>::value_type Gecode::MiniModel::Matrix< A >::value_type

The type of elements of this array.

Definition at line 1098 of file minimodel.hh.

template<class A>
typedef ArrayTraits<A>::args_type Gecode::MiniModel::Matrix< A >::args_type

The type of the Args-array type for value_type values.

Definition at line 1100 of file minimodel.hh.


Constructor & Destructor Documentation

template<class A>
Gecode::MiniModel::Matrix< A >::Matrix ( a,
unsigned int  w,
unsigned int  h 
) [inline]

Basic constructor.

Constructs a Matrix from the array a, using w and h as the width and height of the matrix.

The elements in the wrapped array a are accessed in row-major order.

Exceptions:
MiniModel::ArgumentSizeMismatch Raised if the parameters w and h doesn't match the size of the array a.

Definition at line 88 of file matrix.icc.

template<class A>
Gecode::MiniModel::Matrix< A >::Matrix ( a,
unsigned int  n 
) [inline]

Basic constructor.

Constructs a square Matrix from the array a, using n as the length of the sides.

The elements in the wrapped array a are accessed in row-major order.

Exceptions:
MiniModel::ArgumentSizeMismatch Raised if the parameter n doesn't match the size of the array a.

Definition at line 96 of file matrix.icc.


Member Function Documentation

template<class A>
unsigned int Gecode::MiniModel::Matrix< A >::width ( void   )  const [inline]

Return the width of the matrix.

Definition at line 104 of file matrix.icc.

template<class A>
unsigned int Gecode::MiniModel::Matrix< A >::height ( void   )  const [inline]

Return the height of the matrix.

Definition at line 107 of file matrix.icc.

template<class A>
Matrix< A >::args_type const Gecode::MiniModel::Matrix< A >::get_array ( void   )  [inline]

Return an Args-array of the contents of the matrix.

Definition at line 110 of file matrix.icc.

template<class A>
Matrix< A >::value_type & Gecode::MiniModel::Matrix< A >::operator() ( unsigned int  c,
unsigned int  r 
) [inline]

Access element (c, r) of the matrix.

Exceptions:
MiniModel::ArgumentOutOfRange Raised if c or r are out of range.

Definition at line 116 of file matrix.icc.

template<class A>
Matrix< A >::Slice Gecode::MiniModel::Matrix< A >::slice ( unsigned int  fc,
unsigned int  tc,
unsigned int  fr,
unsigned int  tr 
) [inline]

Access slice of the matrix.

This function allows accessing a slice of the matrix, located at columns $[fc,tc)$ and rows $[fr,tr)$. The result of this function is an object that can be converted into either a Matrix<args_type> or into args_type.

For further information, see Slice.

Definition at line 125 of file matrix.icc.

template<class A>
Matrix< A >::Slice Gecode::MiniModel::Matrix< A >::row ( int  r  )  [inline]

Access row r.

Definition at line 132 of file matrix.icc.

template<class A>
Matrix< A >::Slice Gecode::MiniModel::Matrix< A >::col ( int  c  )  [inline]

Access column c.

Definition at line 138 of file matrix.icc.


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