00001
00002
00003 #ifndef _FORG_H
00004 #define _FORG_H
00005
00006 #include <string>
00007 #include <map>
00008
00011 typedef enum OrgTag {
00012 LIBIXAML_SINGLE = 0,
00013 LIBIXAML_SET = 1,
00014 LIBIXAML_BAG = 2,
00015 LIBIXAML_LIST = 3,
00016 LIBIXAML_DEFEK = 4
00017 };
00018
00021 class FOrg {
00022 private:
00023 OrgTag orgTag;
00024 static std::map<const std::string, OrgTag> orgT;
00025
00026 OrgTag string2FOrg(const std::string &) const;
00027 std::string FOrg2string() const;
00028 public:
00029
00031 FOrg();
00032
00036 FOrg( const OrgTag & orgTag);
00037
00041 FOrg( const std::string & str);
00042
00046 FOrg( const FOrg & fOrg);
00047
00052 bool operator ==( const FOrg & fOrg) const;
00053
00058 bool operator !=( const FOrg & fOrg ) const;
00059
00064 FOrg operator =( const FOrg & fOrg);
00065
00069 OrgTag getOrg() const;
00070
00074 char* c_str() const;
00075
00079 std::string str() const;
00080
00084 void init(const OrgTag & orgTag);
00085
00086 };
00087
00088 #endif //_FORG_H