Generated on Sat Feb 7 2015 02:01:48 for Gecode by doxygen 1.8.9.1
Gecode::Int::Linear::EqTer< Val, A, B, C > Class Template Reference

Propagator for bounds consistent ternary linear equality More...

#include <linear.hh>

Public Member Functions

 EqTer (Space &home, bool share, Propagator &p, A x0, B x1, C x2, Val c)
 Constructor for rewriting p during cloning. More...
 
virtual Actorcopy (Space &home, bool share)
 Create copy during cloning. More...
 
virtual ExecStatus propagate (Space &home, const ModEventDelta &med)
 Perform propagation. More...
 
- Public Member Functions inherited from Gecode::Int::Linear::LinTer< Val, A, B, C, PC_INT_BND >
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function (defined as low ternary) More...
 
virtual size_t dispose (Space &home)
 Delete propagator and return its size. More...
 
- Public Member Functions inherited from Gecode::Propagator
ModEventDelta modeventdelta (void) const
 Return the modification event delta. More...
 
virtual ExecStatus advise (Space &home, Advisor &a, const Delta &d)
 Advise function. More...
 
double afc (const Space &home) const
 Return the accumlated failure count. More...
 
- Public Member Functions inherited from Gecode::Actor

Static Public Member Functions

static ExecStatus post (Home home, A x0, B x1, C x2, Val c)
 Post propagator for $x_0+x_1+x_2 = c$. More...
 
- Static Public Member Functions inherited from Gecode::Actor
static void * operator new (size_t s, Space &home)
 Allocate memory from space. More...
 
static void operator delete (void *p, Space &home)
 No-op for exceptions. More...
 

Protected Member Functions

 EqTer (Space &home, bool share, EqTer &p)
 Constructor for cloning p. More...
 
 EqTer (Home home, A x0, B x1, C x2, Val c)
 Constructor for creation. More...
 
- Protected Member Functions inherited from Gecode::Int::Linear::LinTer< Val, A, B, C, PC_INT_BND >
 LinTer (Space &home, bool share, LinTer &p)
 Constructor for cloning p. More...
 
 LinTer (Home home, A x0, B x1, C x2, Val c)
 Constructor for creation. More...
 
 LinTer (Space &home, bool share, Propagator &p, A x0, B x1, C x2, Val c)
 Constructor for rewriting p during cloning. More...
 
- Protected Member Functions inherited from Gecode::Propagator
 Propagator (Home home)
 Constructor for posting. More...
 
 Propagator (Space &home, bool share, Propagator &p)
 Constructor for cloning p. More...
 
Propagatorfwd (void) const
 Return forwarding pointer during copying. More...
 

Additional Inherited Members

- Protected Attributes inherited from Gecode::Int::Linear::LinTer< Val, A, B, C, PC_INT_BND >
x0
 View of type A. More...
 
x1
 View of type B. More...
 
x2
 View of type C. More...
 
Val c
 Value of type Val. More...
 

Detailed Description

template<class Val, class A, class B, class C>
class Gecode::Int::Linear::EqTer< Val, A, B, C >

Propagator for bounds consistent ternary linear equality

The type Val can be either long long int or int, defining the numerical precision during propagation. The types A, B, and C give the types of the views.

The propagation condition pc refers to all three views.

Requires

Definition at line 382 of file linear.hh.

Constructor & Destructor Documentation

template<class Val , class A , class B , class C >
Gecode::Int::Linear::EqTer< Val, A, B, C >::EqTer ( Space home,
bool  share,
EqTer< Val, A, B, C > &  p 
)
inlineprotected

Constructor for cloning p.

Definition at line 109 of file int-ter.hpp.

template<class Val , class A , class B , class C >
Gecode::Int::Linear::EqTer< Val, A, B, C >::EqTer ( Home  home,
x0,
x1,
x2,
Val  c 
)
inlineprotected

Constructor for creation.

Definition at line 96 of file int-ter.hpp.

template<class Val , class A , class B , class C >
Gecode::Int::Linear::EqTer< Val, A, B, C >::EqTer ( Space home,
bool  share,
Propagator p,
x0,
x1,
x2,
Val  c 
)
inline

Constructor for rewriting p during cloning.

Definition at line 114 of file int-ter.hpp.

Member Function Documentation

template<class Val , class A , class B , class C >
Actor * Gecode::Int::Linear::EqTer< Val, A, B, C >::copy ( Space home,
bool  share 
)
virtual

Create copy during cloning.

Implements Gecode::Actor.

Definition at line 120 of file int-ter.hpp.

template<class Val , class A , class B , class C >
ExecStatus Gecode::Int::Linear::EqTer< Val, A, B, C >::propagate ( Space home,
const ModEventDelta med 
)
virtual

Perform propagation.

Implements Gecode::Propagator.

Definition at line 144 of file int-ter.hpp.

template<class Val , class A , class B , class C >
ExecStatus Gecode::Int::Linear::EqTer< Val, A, B, C >::post ( Home  home,
x0,
x1,
x2,
Val  c 
)
static

Post propagator for $x_0+x_1+x_2 = c$.

Definition at line 101 of file int-ter.hpp.


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