00001 00027 // 00028 // file Position.hpp 00029 // defines class Position of poositions in formulas 00030 // started 21/04/2003, flight Manchester-Frankfurt 00031 // 00032 00033 #ifndef __Position__ 00034 #define __Position__ 00035 00036 00037 #include "Lists.hpp" 00038 00039 00040 class Position 00041 : public IntList 00042 { 00043 public: 00044 // constructors 00045 Position (); 00046 Position (const Position&); 00047 explicit Position (int p); // one-element list 00048 Position (int head, const Position& tail); 00049 00050 // inherited functions 00051 const Position& tail () const 00052 { return static_cast<const Position&>(IntList::tail()); } 00053 }; // class Position 00054 00055 00056 // ******************* Position definitions ************************ 00057 00058 inline 00059 Position::Position () 00060 : 00061 IntList () 00062 { 00063 } // Position::Position 00064 00065 00066 inline 00067 Position::Position (const Position& ts) 00068 : 00069 IntList (ts) 00070 { 00071 } // Position::Position 00072 00073 00074 inline 00075 Position::Position (int hd, const Position& tl) 00076 : 00077 IntList (hd,tl) 00078 { 00079 } // Position::Position 00080 00081 00082 inline 00083 Position::Position (int hd) 00084 : 00085 IntList (hd) 00086 { 00087 } // Position::Position 00088 00089 00090 #endif // __Position__