template<class Char , class Traits >
std::basic_ostream< Char, Traits > & operator<< (std::basic_ostream< Char, Traits > &os, const IntScaleView &x )
Print integer-precision integer scale view.
template<class Char , class Traits >
std::basic_ostream< Char, Traits > & operator<< (std::basic_ostream< Char, Traits > &os, const LLongScaleView &x )
Print long long-precision integer scale view.
template<class Val , class UnsVal >
bool operator== (const ScaleView < Val, UnsVal > &x , const ScaleView < Val, UnsVal > &y )
Test whether views x and y are the same.
template<class Val , class UnsVal >
bool operator!= (const ScaleView < Val, UnsVal > &x , const ScaleView < Val, UnsVal > &y )
Test whether views x and y are not the same.
typedef IntView::VarImpType VarImpType
The variable implementation type belonging to the View .
typedef IntView::VarType VarType
The variable type belonging to the View .
DerivedView (const IntView &y )
Initialize with view y .
VarImpType * varimp (void) const
Return variable implementation of view.
IntView base (void) const
Return view from which this view is derived.
unsigned int degree (void) const
Return degree (number of subscribed propagators)
double afc (void) const
Return accumulated failure count.
bool assigned (void) const
Test whether view is assigned.
void subscribe (Space &home, Propagator &p , PropCond pc, bool schedule =true)
Subscribe propagator p with propagation condition pc to view.
void subscribe (Space &home, Advisor &a , bool fail=false)
Subscribe advisor a to view.
void cancel (Space &home, Propagator &p , PropCond pc)
Cancel subscription of propagator p with propagation condition pc to view.
void cancel (Space &home, Advisor &a , bool fail=false)
Cancel subscription of advisor a .
void reschedule (Space &home, Propagator &p , PropCond pc)
Re-schedule propagator p with propagation condition pc .
void update (Space &home, DerivedView < IntView > &y )
Update this view to be a clone of view y .
bool operator< (const DerivedView < IntView > &y ) const
Whether this view comes before view y (arbitray order)
static bool varderived (void)
Return whether this view is derived from a VarImpView .
static void schedule (Space &home, Propagator &p , ModEvent me )
Schedule propagator p with modification event me .
static ModEvent me (const ModEventDelta &med )
Return modification event for view type in med .
static ModEventDelta med (ModEvent )
Translate modification event me to modification event delta for view.
static ModEvent modevent (const Delta &d)
Return modification event.
DerivedView (void)
Default constructor.
template<class Val, class UnsVal>
class Gecode::Int::ScaleView< Val, UnsVal >
Scale integer view (template)
A scale integer view for an integer view and a non-negative integer provides operations such that behaves as .
The precision of a scale integer view is defined by the value types Val and UnsVal . Val can be either int
or long
long
int
where UnsVal must be the unsigned variant of Val . The range which is allowed for the two types is defined by the values in Gecode::Limits.
Note that scale integer views currently do not provide operations for updating domains by range iterators.
The template is not to be used directly (as it is very clumsy). Use the following instead:
IntScaleView for scale views with integer precision
LLongScaleView for scale views with long long precision
Definition at line 704 of file view.hpp .