Gecode::Matrix< A > Class Template Reference
[Direct modeling support]
Matrix-interface for arrays. More...
#include <minimodel.hh>
Public Types | |
typedef ArrayTraits< A >::ValueType | ValueType |
The type of elements of this array. | |
typedef ArrayTraits< A >::ArgsType | ArgsType |
The type of the Args-array type for ValueType values. | |
Public Member Functions | |
Matrix (A a, int w, int h) | |
Basic constructor. | |
Matrix (A a, int n) | |
Basic constructor. | |
int | width (void) const |
Return the width of the matrix. | |
int | height (void) const |
Return the height of the matrix. | |
ArgsType const | get_array (void) const |
Return an Args-array of the contents of the matrix. | |
ValueType & | operator() (int c, int r) |
Access element (c, r) of the matrix. | |
const ValueType & | operator() (int c, int r) const |
Access element (c, r) of the matrix. | |
Slice< A > | slice (int fc, int tc, int fr, int tr) const |
Access slice of the matrix. | |
Slice< A > | row (int r) const |
Access row r. | |
Slice< A > | col (int c) const |
Access column c. | |
Related Functions | |
(Note that these are not member functions.) | |
template<class Char , class Traits , class A > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const Matrix< A > &m) |
template<class Char , class Traits , class A > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const Slice< A > &s) |
void | element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF) |
Element constraint for matrix. | |
void | element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, BoolVar z, IntConLevel icl=ICL_DEF) |
Element constraint for matrix. | |
void | element (Home home, const Matrix< IntVarArgs > &m, IntVar x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF) |
Element constraint for matrix. | |
void | element (Home home, const Matrix< BoolVarArgs > &m, IntVar x, IntVar y, BoolVar z, IntConLevel icl=ICL_DEF) |
Element constraint for matrix. | |
void | element (Home home, const Matrix< IntSetArgs > &m, IntVar x, IntVar y, SetVar z) |
Element constraint for matrix. | |
void | element (Home home, const Matrix< SetVarArgs > &m, IntVar x, IntVar y, SetVar z) |
Element constraint for matrix. |
Detailed Description
template<class A>
class Gecode::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 1675 of file minimodel.hh.
Member Typedef Documentation
typedef ArrayTraits<A>::ValueType Gecode::Matrix< A >::ValueType |
The type of elements of this array.
Definition at line 1678 of file minimodel.hh.
typedef ArrayTraits<A>::ArgsType Gecode::Matrix< A >::ArgsType |
The type of the Args-array type for ValueType values.
Definition at line 1680 of file minimodel.hh.
Constructor & Destructor Documentation
Gecode::Matrix< A >::Matrix | ( | A | a, | |
int | w, | |||
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 131 of file matrix.hpp.
Gecode::Matrix< A >::Matrix | ( | A | a, | |
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 139 of file matrix.hpp.
Member Function Documentation
int Gecode::Matrix< A >::width | ( | void | ) | const [inline] |
Return the width of the matrix.
Definition at line 147 of file matrix.hpp.
int Gecode::Matrix< A >::height | ( | void | ) | const [inline] |
Return the height of the matrix.
Definition at line 150 of file matrix.hpp.
Matrix< A >::ArgsType const Gecode::Matrix< A >::get_array | ( | void | ) | const [inline] |
Return an Args-array of the contents of the matrix.
Definition at line 153 of file matrix.hpp.
Matrix< A >::ValueType & Gecode::Matrix< A >::operator() | ( | int | c, | |
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 159 of file matrix.hpp.
const Matrix< A >::ValueType & Gecode::Matrix< A >::operator() | ( | int | c, | |
int | r | |||
) | const [inline] |
Access element (c, r) of the matrix.
- Exceptions:
-
MiniModel::ArgumentOutOfRange Raised if c or r are out of range.
Definition at line 167 of file matrix.hpp.
Slice< A > Gecode::Matrix< A >::slice | ( | int | fc, | |
int | tc, | |||
int | fr, | |||
int | tr | |||
) | const [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<ArgsType> or into ArgsType.
For further information, see Slice.
Definition at line 175 of file matrix.hpp.
Slice< A > Gecode::Matrix< A >::row | ( | int | r | ) | const [inline] |
Access row r.
Definition at line 181 of file matrix.hpp.
Slice< A > Gecode::Matrix< A >::col | ( | int | c | ) | const [inline] |
Access column c.
Definition at line 187 of file matrix.hpp.
Friends And Related Function Documentation
std::basic_ostream< Char, Traits > & operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const Matrix< A > & | m | |||
) | [related] |
Print matrix m
Definition at line 193 of file matrix.hpp.
std::basic_ostream< Char, Traits > & operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const Slice< A > & | s | |||
) | [related] |
Print slice s
Definition at line 207 of file matrix.hpp.
void element | ( | Home | home, | |
const Matrix< IntArgs > & | m, | |||
IntVar | x, | |||
IntVar | y, | |||
IntVar | z, | |||
IntConLevel | icl = ICL_DEF | |||
) | [related] |
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 212 of file matrix.hpp.
void element | ( | Home | home, | |
const Matrix< IntArgs > & | m, | |||
IntVar | x, | |||
IntVar | y, | |||
BoolVar | z, | |||
IntConLevel | icl = ICL_DEF | |||
) | [related] |
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 217 of file matrix.hpp.
void element | ( | Home | home, | |
const Matrix< IntVarArgs > & | m, | |||
IntVar | x, | |||
IntVar | y, | |||
IntVar | z, | |||
IntConLevel | icl = ICL_DEF | |||
) | [related] |
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 222 of file matrix.hpp.
void element | ( | Home | home, | |
const Matrix< BoolVarArgs > & | m, | |||
IntVar | x, | |||
IntVar | y, | |||
BoolVar | z, | |||
IntConLevel | icl = ICL_DEF | |||
) | [related] |
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 227 of file matrix.hpp.
void element | ( | Home | home, | |
const Matrix< IntSetArgs > & | m, | |||
IntVar | x, | |||
IntVar | y, | |||
SetVar | z | |||
) | [related] |
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 234 of file matrix.hpp.
void element | ( | Home | home, | |
const Matrix< SetVarArgs > & | m, | |||
IntVar | x, | |||
IntVar | y, | |||
SetVar | z | |||
) | [related] |
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 239 of file matrix.hpp.
The documentation for this class was generated from the following files:
- gecode/minimodel.hh (Revision: 12537)
- gecode/minimodel/matrix.hpp (Revision: 10954)