Gecode::MiniModel::Matrix< A > Class Template Reference
[Matrix interface for arrays]
#include <minimodel.hh>
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_type & | operator() (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
typedef ArrayTraits<A>::value_type Gecode::MiniModel::Matrix< A >::value_type |
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
Gecode::MiniModel::Matrix< A >::Matrix | ( | A | 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.
Gecode::MiniModel::Matrix< A >::Matrix | ( | A | 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
unsigned int Gecode::MiniModel::Matrix< A >::width | ( | void | ) | const [inline] |
unsigned int Gecode::MiniModel::Matrix< A >::height | ( | void | ) | const [inline] |
Matrix< A >::args_type const Gecode::MiniModel::Matrix< A >::get_array | ( | void | ) | [inline] |
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.
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 and rows . 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.
Matrix< A >::Slice Gecode::MiniModel::Matrix< A >::row | ( | int | r | ) | [inline] |
Matrix< A >::Slice Gecode::MiniModel::Matrix< A >::col | ( | int | c | ) | [inline] |
The documentation for this class was generated from the following files:
- gecode/minimodel.hh (Revision: 7354)
- gecode/minimodel/matrix.icc (Revision: 4790)