Generated on Thu Mar 22 10:39:58 2012 for Gecode by doxygen 1.6.3

# Gecode::Int::Rel::LexLqLe< View > Class Template Reference [Integer propagators]

Lexical ordering propagator. More...

`#include <rel.hh>`

List of all members.

## Public Member Functions

virtual Actorcopy (Space &home, bool share)
Copy propagator during cloning.
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
Cost function (defined as low linear).
virtual ExecStatus propagate (Space &home, const ModEventDelta &med)
Perform propagation.
virtual size_t dispose (Space &home)
Delete propagator and return its size.

## Static Public Member Functions

static ExecStatus post (Home home, ViewArray< View > &x, ViewArray< View > &y, bool strict)
Post propagator for lexical order between x and y.

## Protected Member Functions

LexLqLe (Space &home, bool share, LexLqLe< View > &p)
Constructor for cloning p.
LexLqLe (Home home, ViewArray< View > &x, ViewArray< View > &y, bool strict)
Constructor for posting.

## Protected Attributes

ViewArray< View > x
View arrays.
ViewArray< View > y
bool strict
Determines whether propagator is strict or not.

## Detailed Description

### template<class View> class Gecode::Int::Rel::LexLqLe< View >

Lexical ordering propagator.

The propagator uses the algorithm (and also the automaton) from: Mats Carlsson, Nicolas Beldiceanu, Revisiting the Lexicographic Ordering Constraint. SICS Technical Report T2002:17, SICS, Sweden, 2002.

It deviates in the following two main aspects:

• Assigned variables are eagerly eliminated This yields the same incremental behaviour with respect to states 1 and 2 of the automaton. With respect to the values of q and r in the report:
• q is always 0 after elimination
• r is always 1 after elimination
• It is not incremental with respect to states 3 and 4 as no propagation event information is available

Requires

``` #include <gecode/int/rel.hh>
```

Definition at line 597 of file rel.hh.

## Constructor & Destructor Documentation

template<class View >
 Gecode::Int::Rel::LexLqLe< View >::LexLqLe ( Space & home, bool share, LexLqLe< View > & p ) ` [inline, protected]`

Constructor for cloning p.

Definition at line 54 of file lex.hpp.

template<class View >
 Gecode::Int::Rel::LexLqLe< View >::LexLqLe ( Home home, ViewArray< View > & x, ViewArray< View > & y, bool strict ) ` [inline, protected]`

Constructor for posting.

Definition at line 45 of file lex.hpp.

## Member Function Documentation

template<class View >
 Actor * Gecode::Int::Rel::LexLqLe< View >::copy ( Space & home, bool share ) ` [inline, virtual]`

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 62 of file lex.hpp.

template<class View >
 PropCost Gecode::Int::Rel::LexLqLe< View >::cost ( const Space & home, const ModEventDelta & med ) const` [inline, virtual]`

Cost function (defined as low linear).

Implements Gecode::Propagator.

Definition at line 68 of file lex.hpp.

template<class View >
 ExecStatus Gecode::Int::Rel::LexLqLe< View >::propagate ( Space & home, const ModEventDelta & med ) ` [inline, virtual]`

Perform propagation.

Implements Gecode::Propagator.

Definition at line 84 of file lex.hpp.

template<class View >
 ExecStatus Gecode::Int::Rel::LexLqLe< View >::post ( Home home, ViewArray< View > & x, ViewArray< View > & y, bool strict ) ` [inline, static]`

Post propagator for lexical order between x and y.

Definition at line 238 of file lex.hpp.

template<class View >
 size_t Gecode::Int::Rel::LexLqLe< View >::dispose ( Space & home ) ` [inline, virtual]`

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 74 of file lex.hpp.

## Member Data Documentation

template<class View>
 ViewArray Gecode::Int::Rel::LexLqLe< View >::x` [protected]`

View arrays.

Definition at line 600 of file rel.hh.

template<class View>
 ViewArray Gecode::Int::Rel::LexLqLe< View >::y` [protected]`

Definition at line 600 of file rel.hh.

template<class View>
 bool Gecode::Int::Rel::LexLqLe< View >::strict` [protected]`

Determines whether propagator is strict or not.

Definition at line 602 of file rel.hh.

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