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