00001 #ifndef UNITPOWER_H
00002 #define UNITPOWER_H
00003
00004 #include <stdio.h>
00005 #include <vector>
00006
00007 #include <libxml/tree.h>
00008
00009 class Unit ;
00010 class Prefix ;
00011
00017 class UnitPower {
00018 public:
00020 UnitPower() ;
00022 UnitPower( Unit* unit, Prefix* prfx, int pwr ) ;
00024 Unit* m_unit ;
00026 Prefix* m_prfx ;
00028 int m_pwr ;
00030 bool operator ==( const UnitPower& other ) const ;
00032 UnitPower& operator =( const UnitPower& other ) ;
00034 bool isNull() const ;
00036 static void print( const vector<UnitPower>& upwr, FILE* f=stderr ) ;
00037
00038 xmlNodePtr mathML() const ;
00039 static xmlNodePtr mathML( const vector<UnitPower>& upwr ) ;
00040 } ;
00041
00045 vector<UnitPower>::iterator find_unit( Unit* unit,
00046 vector<UnitPower>& dpwr ) ;
00047
00048 #endif // UNITPOWER_H