Gecode::BrancherGroup Class Reference
Functionality by programming task » Programming models » Propagator and brancher groups

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.
BrancherGroup & | operator= (const BrancherGroup &g)
| Assignment operator.
Home | operator() (Space &home)
| To augment a space argument.

## Move branchers between groups

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

## Additional Inherited Members

| Group (void)
| Constructor.
| Group (const Group &g)
| Copy constructor.
Group & | operator= (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 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 | ) |

inline protected

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:

- gecode/kernel/core.hpp
- gecode/kernel/core.cpp