Gecode::Int::Circuit::Base< View, Offset > Class Template Reference

Base-class for circuit propagator. More...

`#include <circuit.hh>`

## Public Member Functions

virtual size_t | dispose (Space &home)
| Delete propagator and return its size.
Public Member Functions inherited from Gecode::NaryPropagator< View, Int::PC_INT_DOM >
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const
| Cost function (defined as low linear).
virtual void | reschedule (Space &home)
| Schedule function.
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med)=0
| Propagation function.
ModEventDelta | modeventdelta (void) const
| Return the modification event delta.
virtual ExecStatus | advise (Space &home, Advisor &a, const Delta &d)
| Advise function.
virtual void | advise (Space &home, Advisor &a)
| Run advisor a to be run on failure in failed space.
double | afc (void) const
| Return the accumlated failure count.
unsigned int | id (void) const
| Return propagator id.
PropagatorGroup | group (void) const
| Return group propagator belongs to.
void | group (PropagatorGroup g)
| Add propagator to group g.
bool | disabled (void) const
| Whether propagator is currently disabled.
Public Member Functions inherited from Gecode::Actor
virtual Actor * | copy (Space &home)=0
| Create copy.
virtual | ~Actor (void)
| To avoid warnings.

## Protected Member Functions

| Base (Space &home, Base &p)
| Constructor for cloning p.
| Base (Home home, ViewArray< View > &x, Offset &o)
| Constructor for posting.
ExecStatus | connected (Space &home)
| Check whether the view value graph is strongly connected.
ExecStatus | path (Space &home)
| Ensure path property: prune edges that could give too small cycles.
Protected Member Functions inherited from Gecode::NaryPropagator< View, Int::PC_INT_DOM >
| NaryPropagator (Space &home, NaryPropagator &p)
| Constructor for cloning p.
Protected Member Functions inherited from Gecode::Propagator
| Propagator (Home home)
| Constructor for posting.
| Propagator (Space &home, Propagator &p)
| Constructor for cloning p.
Propagator * | fwd (void) const
| Return forwarding pointer during copying.
Kernel::GPI::Info & | gpi (void)
| Provide access to global propagator information.

## Protected Attributes

int | start
| Remember where to start the next time the propagator runs.
ViewArray< View > | y
| Array for performing value propagation for distinct.
Offset | o
| Offset transformation.
Protected Attributes inherited from Gecode::NaryPropagator< View, Int::PC_INT_DOM >
ViewArray< View > | x
| Array of views.

## Additional Inherited Members

static void * | operator new (size_t s, Space &home)
| Allocate memory from space.
static void | operator delete (void *p, Space &home)
| No-op for exceptions.
static void * | operator new (size_t s)
| Not used.
static void | operator delete (void *p)
| Not used.

## Detailed Description

template<class View, class Offset>
class Gecode::Int::Circuit::Base< View, Offset >

Base-class for circuit propagator.

Provides routines for checking that the induced variable value graph is strongly connected and for pruning short cycles.

Definition at line 55 of file circuit.hh.

## Constructor & Destructor Documentation

## Base() [1/2]

template<class View, class Offset>

Gecode::Int::Circuit::Base< View, Offset >::Base | ( | Space & | home,
|  | Base< View, Offset > & | p )

protected

Constructor for cloning p.

## Base() [2/2]

template<class View, class Offset>

Gecode::Int::Circuit::Base< View, Offset >::Base | ( | Home | home,
|  | ViewArray< View > & | x,
|  | Offset & | o )

inline protected

Constructor for posting.

Definition at line 38 of file base.hpp.

## Member Function Documentation

## connected()

template<class View, class Offset>

ExecStatus Gecode::Int::Circuit::Base< View, Offset >::connected | ( | Space & | home | ) |

protected

Check whether the view value graph is strongly connected.

First non-assigned node reachable from start

Number of nodes not yet visited

Information needed for checking scc's

Definition at line 69 of file base.hpp.

## path()

template<class View, class Offset>

ExecStatus Gecode::Int::Circuit::Base< View, Offset >::path | ( | Space & | home | ) |

protected

Ensure path property: prune edges that could give too small cycles.

Definition at line 236 of file base.hpp.

## dispose()

template<class View, class Offset>

size_t Gecode::Int::Circuit::Base< View, Offset >::dispose | ( | Space & | home | ) |

inline virtual

Delete propagator and return its size.

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

Definition at line 290 of file base.hpp.

## Member Data Documentation

## start

template<class View, class Offset>

int Gecode::Int::Circuit::Base< View, Offset >::start

protected

Remember where to start the next time the propagator runs.

Definition at line 59 of file circuit.hh.

## y

template<class View, class Offset>

ViewArray<View> Gecode::Int::Circuit::Base< View, Offset >::y

protected

Array for performing value propagation for distinct.

Definition at line 61 of file circuit.hh.

## o

template<class View, class Offset>

Offset Gecode::Int::Circuit::Base< View, Offset >::o

protected

Offset transformation.

Definition at line 63 of file circuit.hh.

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

- gecode/int/circuit.hh
- gecode/int/circuit/base.hpp