41 template<
class T,
class A>
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));
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.
Support algorithms and datastructures
Gecode toplevel namespace
Post propagator for SetVar x