Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0

Group of branchers. More...

#include <core.hpp>

Protected Member Functions

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

Operations on groups

static BrancherGroup all
 Group of all branchers.
 
static BrancherGroup def
 Group of branchers not in any user-defined group.
 
bool operator== (BrancherGroup g) const
 Test whether this group is equal to group g.
 
bool operator!= (BrancherGroup g) const
 Test whether this group is different from group g.
 
unsigned int size (Space &home) const
 Return number of branchers in a group.
 
void kill (Space &home)
 Kill all branchers in a group.
 

Construction

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

Move branchers between groups

BrancherGroupmove (Space &home, BrancherGroup g)
 Move branchers from group g to this group.
 
BrancherGroupmove (Space &home, Brancher &b)
 Move brancher b to this group.
 
BrancherGroupmove (Space &home, unsigned int id)
 Move brancher with id id to this group.
 

Additional Inherited Members

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

Detailed Description

Group of branchers.

Definition at line 799 of file core.hpp.

Constructor & Destructor Documentation

◆ BrancherGroup() [1/3]

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

Initialize with group id gid.

Definition at line 5021 of file core.hpp.

◆ BrancherGroup() [2/3]

Gecode::BrancherGroup::BrancherGroup ( void )
inline

Constructor.

Definition at line 5018 of file core.hpp.

◆ BrancherGroup() [3/3]

Gecode::BrancherGroup::BrancherGroup ( const BrancherGroup & g)
inline

Copy constructor.

Definition at line 5025 of file core.hpp.

Member Function Documentation

◆ operator=()

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

Assignment operator.

Definition at line 5029 of file core.hpp.

◆ operator()()

Home Gecode::BrancherGroup::operator() ( Space & home)
inline

To augment a space argument.

Definition at line 5034 of file core.hpp.

◆ move() [1/3]

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

Move branchers from group g to this group.

Definition at line 1010 of file core.cpp.

◆ move() [2/3]

BrancherGroup & Gecode::BrancherGroup::move ( Space & home,
Brancher & b )
inline

Move brancher b to this group.

Definition at line 5048 of file core.hpp.

◆ move() [3/3]

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

Move brancher with id id to this group.

Throws an exception of type UnknownBrancher, if no brancher with id id exists.

Definition at line 1019 of file core.cpp.

◆ operator==()

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

Test whether this group is equal to group g.

Definition at line 5039 of file core.hpp.

◆ operator!=()

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

Test whether this group is different from group g.

Definition at line 5043 of file core.hpp.

◆ size()

unsigned int Gecode::BrancherGroup::size ( Space & home) const

Return number of branchers in a group.

Definition at line 1033 of file core.cpp.

◆ kill()

void Gecode::BrancherGroup::kill ( Space & home)

Kill all branchers in a group.

Definition at line 1044 of file core.cpp.

Member Data Documentation

◆ all

BrancherGroup Gecode::BrancherGroup::all
static

Group of all branchers.

Definition at line 847 of file core.hpp.

◆ def

BrancherGroup Gecode::BrancherGroup::def
static

Group of branchers not in any user-defined group.

Definition at line 850 of file core.hpp.


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