KeySetSource.hpp

Go to the documentation of this file.
00001 #ifndef wali_KEY_SET_SOURCE_GUARD
00002 #define wali_KEY_SET_SOURCE_GUARD 1
00003 
00004 /*!
00005  * @author Amanda Burton
00006  */
00007 
00008 #include "wali/Common.hpp"
00009 #include "wali/KeySource.hpp"
00010 #include "wali/KeyContainer.hpp"
00011 
00012 #include <set>
00013 
00014 namespace wali
00015 {
00016   class KeySetSource : public wali::KeySource
00017   {
00018     public:
00019       KeySetSource( std::set<Key> kys );
00020 
00021       virtual ~KeySetSource();
00022 
00023       virtual bool equal( KeySource* rhs );
00024 
00025       virtual size_t hash() const;
00026 
00027       virtual std::ostream& print( std::ostream& o ) const;
00028 
00029       // TODO: probably shouldn't be virtual
00030       virtual std::set<Key> get_key_set() const;
00031 
00032     protected:
00033       std::set<Key> kys;
00034 
00035   }; 
00036 
00037 } 
00038 
00039 #endif  
00040