40 namespace Gecode {
namespace Int {
42 template<
class Char,
class Traits,
class View>
43 std::basic_ostream<Char,Traits>&
44 print_view(std::basic_ostream<Char,Traits>& os,
const View&
x) {
45 std::basic_ostringstream<Char,Traits> s;
46 s.copyfmt(os); s.width(0);
49 }
else if (x.range()) {
50 s <<
'[' << x.min() <<
".." << x.max() <<
']';
58 s << r.
min() <<
".." << r.
max();
69 template<
class Char,
class Traits,
class Val,
class UnsVal>
70 std::basic_ostream<Char,Traits>&
73 std::basic_ostringstream<Char,Traits> s;
74 s.copyfmt(os); s.width(0);
84 s << r.
min() <<
".." << r.
max();
95 template<
class Char,
class Traits>
96 inline std::basic_ostream<Char,Traits>&
97 operator <<(std::basic_ostream<Char,Traits>& os,
const IntView&
x) {
100 template<
class Char,
class Traits>
101 inline std::basic_ostream<Char,Traits>&
102 operator <<(std::basic_ostream<Char,Traits>& os,
const MinusView&
x) {
105 template<
class Char,
class Traits>
106 inline std::basic_ostream<Char,Traits>&
107 operator <<(std::basic_ostream<Char,Traits>& os,
const OffsetView&
x) {
110 template<
class Char,
class Traits,
class View>
111 inline std::basic_ostream<Char,Traits>&
112 operator <<(std::basic_ostream<Char,Traits>& os,
117 template<
class Char,
class Traits>
118 inline std::basic_ostream<Char,Traits>&
120 return print_scale<Char,Traits,int,unsigned int>(os,
x);
122 template<
class Char,
class Traits>
123 inline std::basic_ostream<Char,Traits>&
125 return print_scale<Char,Traits,long long int,unsigned long long int>(os,
x);
128 template<
class Char,
class Traits>
129 inline std::basic_ostream<Char,Traits>&
131 return os <<
x.val();
133 template<
class Char,
class Traits>
134 inline std::basic_ostream<Char,Traits>&
135 operator <<(std::basic_ostream<Char,Traits>& os,
const ZeroIntView&) {
140 template<
class Char,
class Traits>
141 std::basic_ostream<Char,Traits>&
142 operator <<(std::basic_ostream<Char,Traits>& os,
const BoolView&
x) {
147 return os <<
"[0..1]";
149 template<
class Char,
class Traits>
150 std::basic_ostream<Char,Traits>&
151 operator <<(std::basic_ostream<Char,Traits>& os,
const NegBoolView&
x) {
156 return os <<
"[0..1]";
Scale integer view (template)
bool assigned(void) const
Test whether view is assigned.
std::basic_ostream< Char, Traits > & print_scale(std::basic_ostream< Char, Traits > &os, const ScaleView< Val, UnsVal > &x)
Range iterator for integer views.
int min(void) const
Return smallest value of range.
Integer view for integer variables.
Node * x
Pointer to corresponding Boolean expression node.
std::basic_ostream< Char, Traits > & print_view(std::basic_ostream< Char, Traits > &os, const View &x)
Val val(void) const
Return assigned value (only if assigned)
int max(void) const
Return largest value of range.
Gecode toplevel namespace
Boolean view for Boolean variables.