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