38 namespace Gecode {
namespace Support {
45 template<
class T,
class A>
65 bool empty(
void)
const;
76 void push(
const T&
x);
80 static void*
operator new(
size_t s)
throw() { (void) s;
return NULL; }
82 static void operator delete(
void*
p) { (void)
p; };
89 template<
class T,
class A>
92 :
a(a0),
n(n0), tos(0), stack(
a.template alloc<T>(
n)) {}
94 template<
class T,
class A>
100 template<
class T,
class A>
106 template<
class T,
class A>
112 template<
class T,
class A>
118 template<
class T,
class A>
121 assert((tos > 0) && (tos <= static_cast<unsigned int>(
n)));
125 template<
class T,
class A>
128 assert((tos > 0) && (tos <= static_cast<unsigned int>(
n)));
132 template<
class T,
class A>
135 assert((tos >= 0) && (tos < static_cast<unsigned int>(
n)));
139 template<
class T,
class A>
142 assert(tos < static_cast<unsigned int>(
n));