Generated on Thu Apr 11 13:59:46 2019 for Gecode by doxygen 1.6.3

Gecode::NGL Class Reference

No-good literal recorded during search. More...

#include <core.hpp>

List of all members.

Public Types

enum  Status { FAILED, SUBSUMED, NONE }
 

The status of a no-good literal.

More...

Public Member Functions

 NGL (void)
 Constructor for creation.
 NGL (Space &home)
 Constructor for creation.
 NGL (Space &home, NGL &ngl)
 Constructor for cloning ngl.
virtual void subscribe (Space &home, Propagator &p)=0
 Subscribe propagator p to all views of the no-good literal.
virtual void cancel (Space &home, Propagator &p)=0
 Cancel propagator p from all views of the no-good literal.
virtual void reschedule (Space &home, Propagator &p)=0
 Schedule propagator p for all views of the no-good literal.
virtual NGL::Status status (const Space &home) const =0
 Test the status of the no-good literal.
virtual ExecStatus prune (Space &home)=0
 Propagate the negation of the no-good literal.
virtual NGLcopy (Space &home)=0
 Create copy.
virtual bool notice (void) const
 Whether dispose must always be called (returns false).
virtual size_t dispose (Space &home)
 Dispose.
virtual ~NGL (void)
 To avoid warnings.

Static Public Member Functions

static void * operator new (size_t s)
 Not used.

Internal management routines



bool leaf (void) const
 Test whether literal is a leaf.
NGLnext (void) const
 Return pointer to next literal.
void leaf (bool l)
 Mark literal as leaf or not.
void next (NGL *n)
 Set pointer to next literal
NGLadd (NGL *n, bool l)
 Add node n and mark it as leaf l and return n.

Memory management



static void * operator new (size_t s, Space &home)
 Allocate memory from space.
static void operator delete (void *s, Space &home)
 Return memory to space.
static void operator delete (void *p)
 Needed for exceptions.

Detailed Description

No-good literal recorded during search.

Definition at line 1340 of file core.hpp.


Member Enumeration Documentation

The status of a no-good literal.

Enumerator:
FAILED 

The literal is failed.

SUBSUMED 

The literal is subsumed.

NONE 

The literal is neither failed nor subsumed.

Definition at line 1346 of file core.hpp.


Constructor & Destructor Documentation

Gecode::NGL::NGL ( void   )  [inline]

Constructor for creation.

Definition at line 3812 of file core.hpp.

Gecode::NGL::NGL ( Space home  )  [inline]

Constructor for creation.

Definition at line 3815 of file core.hpp.

Gecode::NGL::NGL ( Space home,
NGL ngl 
) [inline]

Constructor for cloning ngl.

Definition at line 3818 of file core.hpp.

Gecode::NGL::~NGL ( void   )  [virtual]

To avoid warnings.

Definition at line 900 of file core.cpp.


Member Function Documentation

virtual void Gecode::NGL::subscribe ( Space home,
Propagator p 
) [pure virtual]
virtual void Gecode::NGL::reschedule ( Space home,
Propagator p 
) [pure virtual]
bool Gecode::NGL::notice ( void   )  const [virtual]

Whether dispose must always be called (returns false).

Definition at line 896 of file core.cpp.

bool Gecode::NGL::leaf ( void   )  const [inline]

Test whether literal is a leaf.

Definition at line 3789 of file core.hpp.

NGL * Gecode::NGL::next ( void   )  const [inline]

Return pointer to next literal.

Definition at line 3793 of file core.hpp.

void Gecode::NGL::leaf ( bool  l  )  [inline]

Mark literal as leaf or not.

Definition at line 3797 of file core.hpp.

void Gecode::NGL::next ( NGL n  )  [inline]

Set pointer to next literal

Definition at line 3801 of file core.hpp.

NGL * Gecode::NGL::add ( NGL n,
bool  l 
) [inline]

Add node n and mark it as leaf l and return n.

Definition at line 3805 of file core.hpp.

void * Gecode::NGL::operator new ( size_t  s,
Space home 
) [inline, static]

Allocate memory from space.

Definition at line 3042 of file core.hpp.

void Gecode::NGL::operator delete ( void *  s,
Space home 
) [inline, static]

Return memory to space.

Definition at line 3040 of file core.hpp.

void Gecode::NGL::operator delete ( void *  p  )  [inline, static]

Needed for exceptions.

Definition at line 3038 of file core.hpp.

static void* Gecode::NGL::operator new ( size_t  s  )  [static]

Not used.


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