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
00026
00027
00028 #ifndef _SET_T_H
00029 #define _SET_T_H
00030
00031 #include <string>
00032 #include <map>
00033 #ifdef WIN32
00034 #include <config-win.h>
00035 #include <mysql.h>
00036 typedef unsigned __int64 uint64_t;
00037 #else
00038 #include <stdint.h>
00039 #endif
00040
00041 #ifdef MYSQLW_NAMESPACE
00042 namespace MYSQLW_NAMESPACE {
00043 #endif
00044
00045
00047 class set_t
00048 {
00049 public:
00050 set_t(std::map<std::string, uint64_t>& );
00051
00052 const std::string& String();
00053 uint64_t Value();
00054 const char *c_str();
00055
00056 bool in_set(const std::string& );
00057
00058 void operator=(const std::string& );
00059 void operator=(uint64_t);
00060 void operator|=(uint64_t);
00061 void operator&=(uint64_t);
00062 void operator+=(const std::string& );
00063 void operator-=(const std::string& );
00064
00065 private:
00066 std::map<std::string, uint64_t>& m_mmap;
00067 uint64_t m_value;
00068 std::string m_strvalue;
00069
00070 };
00071
00072
00073 #ifdef MYSQLW_NAMESPACE
00074 }
00075 #endif
00076
00077 #endif // _SET_T_H