Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/magnus/back_end/AProducts/include/Margin.h

Go to the documentation of this file.
00001 #ifndef _MARGIN_H_
00002 #define _MARGIN_H_
00003 
00004 #include "Chars.h"
00005 #include "error.h"
00006 //#include "OneRelatorGroup.h"
00007 //#include "SubgroupOfOneRelatorGroup.h"
00008 //#include "HNNExtOfORGroup.h"
00009 
00010 #define DEBUG_RAW 1
00011 
00012 #ifdef DEBUG_RAW
00013 #  define DEBUG_PRINT(ostr,object)                      { ::debugPrint( (ostr), (object) ); }
00014 #  define DEBUG_PRINT_WORD(ostr,group,word)             { (ostr) << (word); }
00015 #  define DEBUG_PRINT_VECTOR_WORDS(ostr,group,vector)   { (ostr) << (vector); }
00016 #else
00017 #  define DEBUG_PRINT(ostr,object)                      { (ostr) << (object); }
00018 #  define DEBUG_PRINT_WORD(ostr,group,word)             { (group).printWord( (ostr), (word) ); }
00019 #  define DEBUG_PRINT_VECTOR_WORDS(ostr,group,vector)   { (group).printVectorOfWords( (ostr), (vector) ); }
00020 #endif
00021 
00022 void debugPrint( ostream& ostr, const class SubgroupOfOneRelatorGroup& S );
00023 void debugPrint( ostream& ostr, const class OneRelatorGroup& G );
00024 void debugPrint( ostream& ostr, const class OneRelatorGroupRep& G );
00025 void debugPrint( ostream& ostr, const class HNNExtOfORGroupGeneric& H );
00026 
00027 class Margin : public Chars 
00028 {
00029 public:
00030 
00031   Margin( ) : Chars(), ptr(0) { }
00032 
00033   void set( Margin& t ); 
00034 
00035   ~Margin() { 
00036     if( ptr ) 
00037       *(Chars *)ptr = (Chars)(*this); 
00038   }
00039 
00040   Margin *ptr;
00041 
00042 };
00043 
00044 extern Margin globalMargin;
00045 extern int  rightMargin;
00046 
00047 #endif

Generated at Tue Jun 19 09:49:34 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001