34 namespace Gecode {
namespace Support {
41 template<
class T,
class A>
61 bool empty(
void)
const;
72 void push(
const T&
x);
91 static void*
operator new(
size_t s)
throw() { (void) s;
return NULL; }
93 static void operator delete(
void*
p) { (void)
p; };
101 template<
class T,
class A>
104 int nl = (limit * 3) / 2;
105 stack = a.template realloc<T>(stack,limit,nl);
109 template<
class T,
class A>
112 : a(a0), limit(n), tos(0), stack(a.template alloc<T>(n)) {}
114 template<
class T,
class A>
120 template<
class T,
class A>
126 template<
class T,
class A>
132 template<
class T,
class A>
138 template<
class T,
class A>
146 template<
class T,
class A>
152 template<
class T,
class A>
158 template<
class T,
class A>
164 template<
class T,
class A>
T & operator[](int i)
Return entry at position i.
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Gecode::IntArgs i({1, 2, 3, 4})
T pop(void)
Pop topmost element from stack and return it.
T & top(void) const
Return element on top of stack.
~DynamicStack(void)
Release memory.
Node * x
Pointer to corresponding Boolean expression node.
Stack with arbitrary number of elements.
Post propagator for SetVar x
T & last(void) const
Return element that has just been popped.
Gecode toplevel namespace
DynamicStack(A &a, int n=64)
Initialize stack with n elements.
bool empty(void) const
Test whether stack is empty.
int entries(void) const
Return number of entries currently on stack.
struct Gecode::@593::NNF::@62::@64 a
For atomic nodes.
void push(const T &x)
Push element x on top of stack.