34namespace Gecode {
namespace Support {
41 template<
class T,
class A>
61 bool empty(
void)
const;
72 void push(
const T&
x);
76 static void*
operator new(
size_t s)
throw() { (void) s;
return NULL; }
78 static void operator delete(
void*
p) { (void)
p; };
85 template<
class T,
class A>
88 :
a(a0),
n(n0), tos(0), stack(
a.template alloc<T>(
n)) {}
90 template<
class T,
class A>
96 template<
class T,
class A>
102 template<
class T,
class A>
108 template<
class T,
class A>
114 template<
class T,
class A>
117 assert((tos > 0) && (tos <=
static_cast<unsigned int>(
n)));
121 template<
class T,
class A>
124 assert((tos > 0) && (tos <=
static_cast<unsigned int>(
n)));
128 template<
class T,
class A>
131 assert((tos >= 0) && (tos <
static_cast<unsigned int>(
n)));
135 template<
class T,
class A>
138 assert(tos <
static_cast<unsigned int>(
n));
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
struct Gecode::@603::NNF::@65::@67 a
For atomic nodes.
Stack with fixed number of elements.
void push(const T &x)
Push element x on top of stack.
void reset(void)
Reset stack (pop all elements)
~StaticStack(void)
Release memory.
T pop(void)
Pop topmost element from stack and return it.
T & last(void) const
Return element that has just been popped.
bool empty(void) const
Test whether stack is empty.
StaticStack(A &a, int n)
Initialize for n elements.
T & top(void) const
Return element on top of stack.
int entries(void) const
Return number of entries currently on stack.
Gecode toplevel namespace
Post propagator for SetVar x