00001 00002 00003 #ifndef _PACKTREE_BASE_H_ 00004 #define _PACKTREE_BASE_H_ 00005 00006 00038 00039 #include "packnode.h" 00040 #include "liftbase.h" 00041 00042 00052 class packtree_base { 00053 protected: 00055 packnode<double> *root; 00056 00058 liftbase<packcontainer, double> *waveObj; 00059 00060 typedef enum { BadPrintKind, 00061 printData, 00062 printCost, 00063 printBestBasis } printKind; 00064 00065 void breadthFirstPrint(printKind kind); 00066 00067 void newLevel( packnode<double>* top, bool freqCalc, bool reverse ); 00068 00069 public: 00070 void pr(); 00072 packnode<double> *getRoot() { return root; } 00073 }; // packtree_base 00074 00075 #endif