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