Generated on Fri Jul 13 2018 06:08:36 for Gecode by doxygen 1.8.14

Group of propagators. More...

#include <core.hpp>

Static Public Attributes

static PropagatorGroup all
 Group of all propagators. More...
 
static PropagatorGroup def
 Group of propagators not in any user-defined group. More...
 
- Static Public Attributes inherited from Gecode::Group
static Group all
 Group of all actors. More...
 
static Group def
 Group of actors not in any user-defined group. More...
 

Protected Member Functions

 PropagatorGroup (unsigned int gid)
 Initialize with group id gid. More...
 
- Protected Member Functions inherited from Gecode::Group
 Group (unsigned int gid0)
 Construct with predefined group id gid0. More...
 

Construction

 PropagatorGroup (void)
 Constructor. More...
 
 PropagatorGroup (const PropagatorGroup &g)
 Copy constructor. More...
 
PropagatorGroupoperator= (const PropagatorGroup &g)
 Assignment operator. More...
 
Home operator() (Space &home)
 To augment a space argument. More...
 

Move propagators between groups

PropagatorGroupmove (Space &home, PropagatorGroup g)
 Move propagators from group g to this group. More...
 
PropagatorGroupmove (Space &home, Propagator &p)
 Move propagator p to this group. More...
 
PropagatorGroupmove (Space &home, unsigned int id)
 Move propagator with id id to this group. More...
 

Operations on groups

bool operator== (PropagatorGroup g) const
 Test whether this group is equal to group g. More...
 
bool operator!= (PropagatorGroup g) const
 Test whether this group is different from group g. More...
 
unsigned int size (Space &home) const
 Return number of propagators in a group. More...
 
void kill (Space &home)
 Kill all propagators in a group. More...
 
void disable (Space &home)
 Disable all propagators in a group. More...
 
void enable (Space &home, bool s=true)
 Enable all propagators in a group. More...
 

Additional Inherited Members

- Public Member Functions inherited from Gecode::Group
 Group (void)
 Constructor. More...
 
 Group (const Group &g)
 Copy constructor. More...
 
Groupoperator= (const Group &g)
 Assignment operator. More...
 
unsigned int id (void) const
 Return a unique id for the group. More...
 
bool in (Group a) const
 Check whether actor group a is included in this group. More...
 
bool in (void) const
 Check whether this is a real group (and not just default) More...
 
- Protected Attributes inherited from Gecode::Group
unsigned int gid
 The group id. More...
 
- Static Protected Attributes inherited from Gecode::Group
static const unsigned int GROUPID_ALL = 0U
 Fake id for group of all actors. More...
 
static const unsigned int GROUPID_DEF = 1U
 Pre-defined default group id. More...
 
static const unsigned int GROUPID_MAX = UINT_MAX >> 2
 The maximal group number. More...
 
static unsigned int next = GROUPID_DEF+1
 Next group id. More...
 
static Support::Mutex m
 Mutex for protection. More...
 

Detailed Description

Group of propagators.

Definition at line 794 of file core.hpp.

Constructor & Destructor Documentation

◆ PropagatorGroup() [1/3]

Gecode::PropagatorGroup::PropagatorGroup ( unsigned int  gid)
inlineprotected

Initialize with group id gid.

Definition at line 5028 of file core.hpp.

◆ PropagatorGroup() [2/3]

Gecode::PropagatorGroup::PropagatorGroup ( void  )
inline

Constructor.

Definition at line 5025 of file core.hpp.

◆ PropagatorGroup() [3/3]

Gecode::PropagatorGroup::PropagatorGroup ( const PropagatorGroup g)
inline

Copy constructor.

Definition at line 5032 of file core.hpp.

Member Function Documentation

◆ operator=()

PropagatorGroup & Gecode::PropagatorGroup::operator= ( const PropagatorGroup g)
inline

Assignment operator.

Definition at line 5036 of file core.hpp.

◆ operator()()

Home Gecode::PropagatorGroup::operator() ( Space home)
inline

To augment a space argument.

Definition at line 5041 of file core.hpp.

◆ move() [1/3]

PropagatorGroup & Gecode::PropagatorGroup::move ( Space home,
PropagatorGroup  g 
)

Move propagators from group g to this group.

Definition at line 894 of file core.cpp.

◆ move() [2/3]

PropagatorGroup & Gecode::PropagatorGroup::move ( Space home,
Propagator p 
)
inline

Move propagator p to this group.

Definition at line 5055 of file core.hpp.

◆ move() [3/3]

PropagatorGroup & Gecode::PropagatorGroup::move ( Space home,
unsigned int  id 
)

Move propagator with id id to this group.

Throws an exception of type UnknownPropagator, if no propagator with id id exists.

Definition at line 903 of file core.cpp.

◆ operator==()

bool Gecode::PropagatorGroup::operator== ( PropagatorGroup  g) const
inline

Test whether this group is equal to group g.

Definition at line 5046 of file core.hpp.

◆ operator!=()

bool Gecode::PropagatorGroup::operator!= ( PropagatorGroup  g) const
inline

Test whether this group is different from group g.

Definition at line 5050 of file core.hpp.

◆ size()

unsigned int Gecode::PropagatorGroup::size ( Space home) const

Return number of propagators in a group.

Definition at line 917 of file core.cpp.

◆ kill()

void Gecode::PropagatorGroup::kill ( Space home)

Kill all propagators in a group.

Definition at line 928 of file core.cpp.

◆ disable()

void Gecode::PropagatorGroup::disable ( Space home)

Disable all propagators in a group.

Definition at line 941 of file core.cpp.

◆ enable()

void Gecode::PropagatorGroup::enable ( Space home,
bool  s = true 
)

Enable all propagators in a group.

If s is true, the propagators will be scheduled for propagation if needed.

Definition at line 950 of file core.cpp.

Member Data Documentation

◆ all

PropagatorGroup Gecode::PropagatorGroup::all
static

Group of all propagators.

Definition at line 855 of file core.hpp.

◆ def

PropagatorGroup Gecode::PropagatorGroup::def
static

Group of propagators not in any user-defined group.

Definition at line 858 of file core.hpp.


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