00001 00002 #ifndef _INVPACKTREE_INT_H_ 00003 #define _INVPACKTREE_INt_H_ 00004 00005 00037 00038 00039 #include "liftbase.h" 00040 #include "list.h" 00041 #include "packcontainer_int.h" 00042 #include "packdata.h" 00043 #include "packdata_list.h" 00044 00045 00081 class invpacktree_int { 00082 private: 00084 liftbase<packcontainer_int, int> *waveObj; 00086 invpacktree_int( const invpacktree_int &rhs ) {} 00087 00089 LIST<packcontainer_int *> stack; 00090 00092 const int *data; 00094 size_t N; 00095 00096 private: 00097 void new_level( packdata<int> *elem ); 00098 void add_elem( packdata<int> *elem ); 00099 void reduce(); 00100 00101 public: 00102 invpacktree_int( packdata_list<int> &list, 00103 liftbase<packcontainer_int, int> *w ); 00105 ~invpacktree_int() {} 00106 00108 const int *getData() { return data; } 00109 void pr(); 00110 }; // invpacktree_int 00111 00112 #endif