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

Gecode::Int::Extensional::Basic< View > Class Template Reference
[Integer propagators]

#include <extensional.hh>

Inherits Base< View >.

List of all members.


Detailed Description

template<class View>
class Gecode::Int::Extensional::Basic< View >

Domain consistent extensional propagator.

This propagator implements a basic extensional propagation algorithm. It is based on GAC2001, and as such it does not fully take into account multidirectionality.

Requires

Definition at line 223 of file extensional.hh.


Public Member Functions

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

Static Public Member Functions

static ExecStatus post (Space *home, ViewArray< View > &x, const TupleSet &t)
 Post propagator for views x.
static void post (Space *home, Reflection::VarMap &vars, const Reflection::ActorSpec &spec)
 Post propagator according to specification.
static Gecode::Support::Symbol ati (void)
 Mangled name of this propagator.

Protected Member Functions

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

Constructor & Destructor Documentation

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

Constructor for cloning p.

Definition at line 59 of file basic.icc.

template<class View>
Gecode::Int::Extensional::Basic< View >::Basic ( Space home,
ViewArray< View > &  x,
const TupleSet t 
) [inline, protected]

Constructor for posting.

Definition at line 46 of file basic.icc.


Member Function Documentation

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

Perform propagation.

Bit-sets for amortized O(1) access to domains

Bit-sets for processed values.

Values to prune

Check consistency for each variable-value pair

Implements Gecode::Propagator.

Definition at line 103 of file basic.icc.

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

Cost function.

If in stage for naive value propagation, the cost is PC_QUADRATIC_HI. Otherwise it is dynamic PC_CUBIC_HI.

Reimplemented from Gecode::Int::Extensional::Base< View >.

Definition at line 65 of file basic.icc.

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

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 72 of file basic.icc.

template<class View>
ExecStatus Gecode::Int::Extensional::Basic< View >::post ( Space home,
ViewArray< View > &  x,
const TupleSet t 
) [inline, static]

Post propagator for views x.

Definition at line 52 of file basic.icc.

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

Specification for this propagator.

Reimplemented from Gecode::Actor.

Definition at line 84 of file basic.icc.

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

Post propagator according to specification.

Definition at line 92 of file basic.icc.

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

Mangled name of this propagator.

Definition at line 78 of file basic.icc.


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