Generated on Thu Apr 11 14:00:01 2019 for Gecode by doxygen 1.6.3

Gecode::Int::Extensional::PosCompact< View, Table > Class Template Reference
[Integer propagators]

Domain consistent positive extensional propagator. More...

#include <extensional.hh>

List of all members.

Classes

class  Status
 Status management. More...

Public Types

typedef Compact< View, true >
::ValidSupports 
ValidSupports
typedef Compact< View, true >
::Range 
Range
 Range type for supports.
typedef Compact< View, true >
::CTAdvisor 
CTAdvisor
typedef Compact< View, true >
::LostSupports 
LostSupports

Status management



enum  StatusType { SINGLE = 0, MULTIPLE = 1, NONE = 2, PROPAGATING = 3 }
 

Type of status.

More...
Status status
 Propagator status.
Table table
 Current table.
bool empty (void) const
 Check whether the table is empty.
template<class TableProp >
 PosCompact (Space &home, TableProp &p)
 Constructor for cloning p.
 PosCompact (Home home, ViewArray< View > &x, const TupleSet &ts)
 Constructor for posting.
virtual void reschedule (Space &home)
 Schedule function.
virtual ExecStatus propagate (Space &home, const ModEventDelta &med)
 Perform propagation.
virtual Actorcopy (Space &home)
 Copy propagator during cloning.
size_t dispose (Space &home)
 Delete propagator and return its size.
virtual ExecStatus advise (Space &home, Advisor &a, const Delta &d)
 Give advice to propagator.
static ExecStatus post (Home home, ViewArray< View > &x, const TupleSet &ts)
 Post propagator for views x and table t.

Detailed Description

template<class View, class Table>
class Gecode::Int::Extensional::PosCompact< View, Table >

Domain consistent positive extensional propagator.

This propagator implements the compact-table propagation algorithm based on: J. Demeulenaere et. al., Compact-Table: Efficiently filtering table constraints with reversible sparse bit-sets, CP 2016.

Requires

Definition at line 504 of file extensional.hh.


Member Typedef Documentation

template<class View , class Table >
typedef Compact<View,true>::ValidSupports Gecode::Int::Extensional::PosCompact< View, Table >::ValidSupports

Definition at line 506 of file extensional.hh.

template<class View , class Table >
typedef Compact<View,true>::Range Gecode::Int::Extensional::PosCompact< View, Table >::Range

Range type for supports.

Reimplemented from Gecode::Int::Extensional::Compact< View, true >.

Definition at line 507 of file extensional.hh.

template<class View , class Table >
typedef Compact<View,true>::CTAdvisor Gecode::Int::Extensional::PosCompact< View, Table >::CTAdvisor

Definition at line 508 of file extensional.hh.

template<class View , class Table >
typedef Compact<View,true>::LostSupports Gecode::Int::Extensional::PosCompact< View, Table >::LostSupports

Definition at line 509 of file extensional.hh.


Member Enumeration Documentation

template<class View , class Table >
enum Gecode::Int::Extensional::PosCompact::StatusType

Type of status.

Enumerator:
SINGLE 

A single view has been touched.

MULTIPLE 

Multiple view have been touched.

NONE 

No view has been touched.

PROPAGATING 

The propagator is currently running.

Definition at line 521 of file extensional.hh.


Constructor & Destructor Documentation

template<class View , class Table >
template<class TableProp >
Gecode::Int::Extensional::PosCompact< View, Table >::PosCompact ( Space home,
TableProp &  p 
) [inline]

Constructor for cloning p.

Definition at line 460 of file compact.hpp.

template<class View , class Table >
Gecode::Int::Extensional::PosCompact< View, Table >::PosCompact ( Home  home,
ViewArray< View > &  x,
const TupleSet ts 
) [inline]

Constructor for posting.

Definition at line 514 of file compact.hpp.


Member Function Documentation

template<class View , class Table >
bool Gecode::Int::Extensional::PosCompact< View, Table >::empty ( void   )  const

Check whether the table is empty.

Reimplemented from Gecode::ActorLink.

template<class View , class Table >
void Gecode::Int::Extensional::PosCompact< View, Table >::reschedule ( Space home  )  [inline, virtual]

Schedule function.

Implements Gecode::Propagator.

Definition at line 538 of file compact.hpp.

template<class View , class Table >
ExecStatus Gecode::Int::Extensional::PosCompact< View, Table >::propagate ( Space home,
const ModEventDelta med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 547 of file compact.hpp.

template<class View , class Table >
Actor * Gecode::Int::Extensional::PosCompact< View, Table >::copy ( Space home  )  [inline, virtual]

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 467 of file compact.hpp.

template<class View , class Table >
ExecStatus Gecode::Int::Extensional::PosCompact< View, Table >::post ( Home  home,
ViewArray< View > &  x,
const TupleSet ts 
) [inline, static]

Post propagator for views x and table t.

Definition at line 522 of file compact.hpp.

template<class View , class Table >
size_t Gecode::Int::Extensional::PosCompact< View, Table >::dispose ( Space home  )  [inline, virtual]

Delete propagator and return its size.

Reimplemented from Gecode::Int::Extensional::Compact< View, true >.

Definition at line 531 of file compact.hpp.

template<class View , class Table >
ExecStatus Gecode::Int::Extensional::PosCompact< View, Table >::advise ( Space home,
Advisor a,
const Delta d 
) [inline, virtual]

Give advice to propagator.

Reimplemented from Gecode::Propagator.

Definition at line 615 of file compact.hpp.


Member Data Documentation

template<class View , class Table >
Status Gecode::Int::Extensional::PosCompact< View, Table >::status

Propagator status.

Definition at line 549 of file extensional.hh.

template<class View , class Table >
Table Gecode::Int::Extensional::PosCompact< View, Table >::table

Current table.

Definition at line 551 of file extensional.hh.


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