initial
[prop.git] / include / AD / csp / cspstack.h
blob0cc9b8791e49efcc49b79fd2534afb442bc8df31
1 //////////////////////////////////////////////////////////////////////////////
2 // NOTICE:
3 //
4 // ADLib, Prop and their related set of tools and documentation are in the
5 // public domain. The author(s) of this software reserve no copyrights on
6 // the source code and any code generated using the tools. You are encouraged
7 // to use ADLib and Prop to develop software, in both academic and commercial
8 // settings, and are welcomed to incorporate any part of ADLib and Prop into
9 // your programs.
11 // Although you are under no obligation to do so, we strongly recommend that
12 // you give away all software developed using our tools.
14 // We also ask that credit be given to us when ADLib and/or Prop are used in
15 // your programs, and that this notice be preserved intact in all the source
16 // code.
18 // This software is still under development and we welcome(read crave for)
19 // any suggestions and help from the users.
21 // Allen Leung (leunga@cs.nyu.edu)
22 // 1994-1995
23 //////////////////////////////////////////////////////////////////////////////
25 #ifndef CSP_solver_stack_h
26 #define CSP_solver_stack_h
28 #include <AD/memory/mem.h>
30 class CSP_Stack : public Mem {
32 CSP_Stack(const CSP_Stack&); // no copy constructor
33 void operator = (const CSP_Stack&); // no assignment
35 public:
37 ///////////////////////////////////////////////////////////////////////////
38 // Constructors and destructor
39 ///////////////////////////////////////////////////////////////////////////
40 CSP_Stack();
41 CSP_Stack(Mem&);
42 virtual ~CSP_Stack();
44 ///////////////////////////////////////////////////////////////////////////
45 // Fast allocation methods
46 ///////////////////////////////////////////////////////////////////////////
47 inline void * operator [] (size_t n) { }
49 ///////////////////////////////////////////////////////////////////////////
50 // Mem protocol methods.
51 ///////////////////////////////////////////////////////////////////////////
52 virtual void * m_alloc(size_t);
53 virtual void * c_alloc(size_t);
54 virtual void * free (size_t);