KeyPairSource.hpp

Go to the documentation of this file.
00001 #ifndef wali_KEY_PAIR_SOURCE_GUARD
00002 #define wali_KEY_PAIR_SOURCE_GUARD 1
00003 
00004 /**
00005  * @author Nicholas Kidd
00006  */
00007 
00008 #include "wali/Common.hpp"
00009 #include "wali/KeySource.hpp"
00010 #include "wali/KeyContainer.hpp"
00011 
00012 namespace wali
00013 {
00014   class KeyPairSource : public wali::KeySource
00015   {
00016     public:
00017       KeyPairSource( Key k1, Key k2 );
00018 
00019       KeyPairSource( const KeyPair& kp );
00020 
00021       virtual ~KeyPairSource();
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       const KeyPair& get_key_pair() const;
00030 
00031       Key first() const;
00032 
00033       Key second() const;
00034 
00035     private:
00036       const KeyPair kp;
00037 
00038   }; // class KeyPairSource
00039 
00040 } // namespace wali
00041 
00042 #endif  // wali_KEY_PAIR_SOURCE_GUARD
00043