00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CATTRIBUTELIST
00026 #define _CATTRIBUTELIST
00027 #include "libMRML/include/uses-declarations.h"
00028 #include <map>
00029 #include <list>
00030 #include <string>
00031 #include "libMRML/include/CMagic.h"
00032
00033
00036 class CAttributeList:public map<string,pair<char*,char*> >,public CMagic{
00037 public:
00039 void check()const;
00041 list<string> getKeys()const;
00043 typedef map<string,pair<char*,char*> > CBase;
00045 CAttributeList(const char* const * const inAttributeList);
00047 CAttributeList(const list<pair <string,string> >& inAttributes);
00049 CAttributeList(const CAttributeList& inList);
00051 const_iterator find(string inString)const;
00053 void add(const string& inFirst,
00054 const string& inSecond);
00056 void add(const string& inAttribute,long inValue);
00058 void add(const string& inAttribute,double inValue);
00065 pair<bool,bool> boolReadAttribute(const string& inAttribute)const;
00067 pair<bool,long> longReadAttribute(const string& inAttribute)const;
00069 pair<bool,double> doubleReadAttribute(const string& inAttribute)const;
00079 virtual pair<bool,string> stringReadAttribute(const string& inAttribute)const;
00082 void CAttributeList::toXML(string& outString)const;
00086 ~CAttributeList();
00087 };
00088 #endif