00001
00002
00003 #ifndef _LNKTYPE_H
00004 #define _LNKTYPE_H
00005
00006 #include <string>
00007 #include <vector>
00008
00011 typedef enum LnkTypeEnum {
00012 LNK_CORRECT = 0,
00013 LNK_NOSURE = 1,
00014 LNK_NOCORRECT = 2
00015 };
00016
00019 class LnkType {
00020 LnkTypeEnum type;
00021 std::string strType;
00022
00023 static std::vector<std::string> Type2Str;
00024 static std::vector<std::string> KargatuType2Str();
00025
00026 public:
00027
00029 LnkType();
00030
00034 LnkType(const LnkTypeEnum & lte);
00035
00039 LnkType(const std::string & str);
00040
00044 LnkType(const LnkType & lt);
00045
00050 LnkType& operator= (const LnkType & lt);
00051
00056 bool operator == (const LnkType & lt) const;
00057
00062 bool operator != (const LnkType & lt) const;
00063
00068 bool operator < (const LnkType & lt) const;
00069
00074 bool operator <= (const LnkType & lt) const;
00075
00080 bool operator > (const LnkType & lt) const;
00081
00086 bool operator >= (const LnkType & lt) const;
00087
00091 void putType(const LnkTypeEnum & lte);
00092
00096 void putType(const std::string & str);
00097
00101 std::string str() const;
00102 };
00103
00104 #endif //_LNKTYPE_H