Go to the documentation of this file.00001 #ifndef wali_KEY_GUARD
00002 #define wali_KEY_GUARD 1
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <string>
00015 #include <set>
00016 #include "wali/ref_ptr.hpp"
00017
00018 namespace wali
00019 {
00020
00021
00022
00023
00024
00025 typedef size_t Key;
00026
00027
00028
00029
00030 class KeySource;
00031 typedef ref_ptr<KeySource> key_src_t;
00032
00033
00034
00035
00036 class KeySpace;
00037
00038
00039
00040
00041 KeySpace* getKeySpace();
00042
00043 void clearKeyspace();
00044
00045
00046
00047
00048
00049
00050 Key getKey( key_src_t ks );
00051 Key getKey( const std::string& s );
00052 Key getKey( const char* s );
00053 Key getKey( int i );
00054 Key getKey( Key k1, Key k2 );
00055
00056 Key getKey( std::set<Key> ks );
00057
00058
00059
00060
00061 key_src_t getKeySource( Key k );
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 std::ostream& printKey( std::ostream& o, Key k, bool abbreviate=false );
00074
00075
00076
00077
00078
00079
00080 std::string key2str( Key k );
00081
00082 }
00083
00084 #endif // wali_KEY_GUARD
00085