Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::NGL Class Referenceabstract

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

#include <core.hpp>

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.

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

virtual ~NGL (void)
 To avoid warnings.
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.
static void * operator new (size_t s)
 Not used.

Detailed Description

No-good literal recorded during search.

Definition at line 1342 of file core.hpp.

Member Enumeration Documentation

◆ Status

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 1348 of file core.hpp.

Constructor & Destructor Documentation

◆ NGL() [1/3]

Gecode::NGL::NGL ( void )
inline

Constructor for creation.

Definition at line 3819 of file core.hpp.

◆ NGL() [2/3]

Gecode::NGL::NGL ( Space & home)
inline

Constructor for creation.

Definition at line 3822 of file core.hpp.

◆ NGL() [3/3]

Gecode::NGL::NGL ( Space & home,
NGL & ngl )
inline

Constructor for cloning ngl.

Definition at line 3825 of file core.hpp.

◆ ~NGL()

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

To avoid warnings.

Definition at line 901 of file core.cpp.

Member Function Documentation

◆ subscribe()

◆ cancel()

◆ reschedule()

◆ status()

◆ prune()

◆ copy()

◆ notice()

bool Gecode::NGL::notice ( void ) const
virtual

Whether dispose must always be called (returns false)

Definition at line 897 of file core.cpp.

◆ dispose()

◆ leaf() [1/2]

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

Test whether literal is a leaf.

Definition at line 3796 of file core.hpp.

◆ next() [1/2]

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

Return pointer to next literal.

Definition at line 3800 of file core.hpp.

◆ leaf() [2/2]

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

Mark literal as leaf or not.

Definition at line 3804 of file core.hpp.

◆ next() [2/2]

void Gecode::NGL::next ( NGL * n)
inline

Set pointer to next literal

Definition at line 3808 of file core.hpp.

◆ add()

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

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

Definition at line 3812 of file core.hpp.

◆ operator new() [1/2]

void * Gecode::NGL::operator new ( size_t s,
Space & home )
inlinestatic

Allocate memory from space.

Definition at line 3046 of file core.hpp.

◆ operator delete() [1/2]

void Gecode::NGL::operator delete ( void * s,
Space & home )
inlinestatic

Return memory to space.

Definition at line 3044 of file core.hpp.

◆ operator delete() [2/2]

void Gecode::NGL::operator delete ( void * p)
inlinestatic

Needed for exceptions.

Definition at line 3042 of file core.hpp.

◆ operator new() [2/2]

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

Not used.


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