
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 Symbols | |
(Note that these are not member symbols.) | |
| 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, IntPropLevel ipl=IPL_DEF) |
| Element constraint for matrix. | |
| void | element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, BoolVar z, IntPropLevel ipl=IPL_DEF) |
| Element constraint for matrix. | |
| void | element (Home home, const Matrix< IntVarArgs > &m, IntVar x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Element constraint for matrix. | |
| void | element (Home home, const Matrix< BoolVarArgs > &m, IntVar x, IntVar y, BoolVar z, IntPropLevel ipln=IPL_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. | |
| template<class A> | |
| SymmetryHandle | rows_interchange (const Matrix< A > &m) |
| Interchangeable rows symmetry specification. | |
| template<class A> | |
| SymmetryHandle | columns_interchange (const Matrix< A > &m) |
| Interchangeable columns symmetry specification. | |
| template<class A> | |
| SymmetryHandle | rows_reflect (const Matrix< A > &m) |
| Reflect rows symmetry specification. | |
| template<class A> | |
| SymmetryHandle | columns_reflect (const Matrix< A > &m) |
| Reflect columns symmetry specification. | |
| template<class A> | |
| SymmetryHandle | diagonal_reflect (const Matrix< A > &m) |
| Reflect around main diagonal symmetry specification. | |
Matrix-interface for arrays.
This class allows for wrapping some array and accessing it as a matrix.
Definition at line 2161 of file minimodel.hh.
| typedef ArrayTraits<A>::ValueType Gecode::Matrix< A >::ValueType |
The type of elements of this array.
Definition at line 2164 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 2166 of file minimodel.hh.
|
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.
| MiniModel::ArgumentSizeMismatch | Raised if the parameters w and h doesn't match the size of the array a. |
Definition at line 127 of file matrix.hpp.
|
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.
| MiniModel::ArgumentSizeMismatch | Raised if the parameter n doesn't match the size of the array a. |
Definition at line 135 of file matrix.hpp.
|
inline |
Return the width of the matrix.
Definition at line 143 of file matrix.hpp.
|
inline |
Return the height of the matrix.
Definition at line 146 of file matrix.hpp.
|
inline |
Return an Args-array of the contents of the matrix.
Definition at line 149 of file matrix.hpp.
|
inline |
Access element (c, r) of the matrix.
| MiniModel::ArgumentOutOfRange | Raised if c or r are out of range. |
Definition at line 155 of file matrix.hpp.
|
inline |
Access element (c, r) of the matrix.
| MiniModel::ArgumentOutOfRange | Raised if c or r are out of range. |
Definition at line 163 of file matrix.hpp.
|
inline |
Access slice of the matrix.
This function allows accessing a slice of the matrix, located at columns 

For further information, see Slice.
Definition at line 171 of file matrix.hpp.
|
inline |
Access row r.
Definition at line 177 of file matrix.hpp.
|
inline |
Access column c.
Definition at line 183 of file matrix.hpp.
|
Print matrix m
Definition at line 183 of file matrix.hpp.
|
Print slice s
Definition at line 183 of file matrix.hpp.
|
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 208 of file matrix.hpp.
|
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 213 of file matrix.hpp.
|
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 218 of file matrix.hpp.
|
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 223 of file matrix.hpp.
|
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 230 of file matrix.hpp.
|
Element constraint for matrix.
Here, x and y are the coordinates and z is the value at position m(x,y).
Definition at line 235 of file matrix.hpp.
|
|
|
|
|