Generated on Mon Aug 25 11:35:50 2008 for Gecode by doxygen 1.5.6

Gecode::Int::Circuit::Dom< View > Class Template Reference
[Integer propagators]

#include <circuit.hh>

Inherits Gecode::Int::Circuit::Base< View >.

List of all members.


Detailed Description

template<class View>
class Gecode::Int::Circuit::Dom< View >

"Domain consistent" circuit propagator

Propagates domain consistent distinct, checks that the induced variable value graph is stronlgy connected, and prunes too shot cycles.

Requires

Definition at line 131 of file circuit.hh.


Public Member Functions

virtual Actorcopy (Space *home, bool share)
 Copy propagator during cloning.
virtual PropCost cost (ModEventDelta med) const
 Cost function.
virtual ExecStatus propagate (Space *home, ModEventDelta med)
 Perform propagation.
virtual Reflection::ActorSpec spec (const Space *home, Reflection::VarMap &m) const
 Specification for this propagator.

Static Public Member Functions

static Support::Symbol ati (void)
 Name of this propagator.
static void post (Space *home, Reflection::VarMap &vars, const Reflection::ActorSpec &spec)
 Post propagator according to specification.
static ExecStatus post (Space *home, ViewArray< View > &x)
 Post propagator for circuit on x.

Protected Member Functions

 Dom (Space *home, bool share, Dom &p)
 Constructor for cloning p.
 Dom (Space *home, ViewArray< View > &x)
 Constructor for posting.

Protected Attributes

Distinct::DomCtrl< View > dc
 Propagation controller for propagating distinct.

Constructor & Destructor Documentation

template<class View>
Gecode::Int::Circuit::Dom< View >::Dom ( Space home,
bool  share,
Dom< View > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 51 of file dom.icc.

template<class View>
Gecode::Int::Circuit::Dom< View >::Dom ( Space home,
ViewArray< View > &  x 
) [inline, protected]

Constructor for posting.

Definition at line 46 of file dom.icc.


Member Function Documentation

template<class View>
Actor * Gecode::Int::Circuit::Dom< View >::copy ( Space home,
bool  share 
) [inline, virtual]

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 56 of file dom.icc.

template<class View>
PropCost Gecode::Int::Circuit::Dom< View >::cost ( ModEventDelta  med  )  const [inline, virtual]

Cost function.

If in stage for naive value propagation, the cost is dynamic PC_LINEAR_HI. Otherwise it is dynamic PC_QUADRATIC_LO.

Reimplemented from Gecode::NaryPropagator< View, PC_INT_DOM >.

Definition at line 62 of file dom.icc.

template<class View>
ExecStatus Gecode::Int::Circuit::Dom< View >::propagate ( Space home,
ModEventDelta  med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 89 of file dom.icc.

template<class View>
Reflection::ActorSpec Gecode::Int::Circuit::Dom< View >::spec ( const Space home,
Reflection::VarMap m 
) const [inline, virtual]

Specification for this propagator.

Reimplemented from Gecode::Actor.

Definition at line 74 of file dom.icc.

template<class View>
Support::Symbol Gecode::Int::Circuit::Dom< View >::ati ( void   )  [inline, static]

Name of this propagator.

Definition at line 68 of file dom.icc.

template<class View>
void Gecode::Int::Circuit::Dom< View >::post ( Space home,
Reflection::VarMap vars,
const Reflection::ActorSpec spec 
) [inline, static]

Post propagator according to specification.

Definition at line 80 of file dom.icc.

template<class View>
ExecStatus Gecode::Int::Circuit::Dom< View >::post ( Space home,
ViewArray< View > &  x 
) [inline, static]

Post propagator for circuit on x.

Definition at line 125 of file dom.icc.


Member Data Documentation

template<class View>
Distinct::DomCtrl<View> Gecode::Int::Circuit::Dom< View >::dc [protected]

Propagation controller for propagating distinct.

Definition at line 138 of file circuit.hh.


The documentation for this class was generated from the following files: