00001 // 00002 // See license.txt for license information. 00003 // 00004 // comparable_object.hpp 00005 // 00006 // 17-Jul-2003 phamilton Created 00007 // 00008 00009 #ifndef incCOMMON_COMPAREABLE_OBJECT 00010 #define incCOMMON_COMPAREABLE_OBJECT 00011 00012 namespace ph { 00013 namespace common { 00014 00015 // forwards 00016 class object_base; 00017 00018 class comparable_object_base 00019 /** 00020 Abstract class representing a an object which can be compared against 00021 another. 00022 */ 00023 { 00024 public: 00025 virtual ~comparable_object_base() {} 00026 00027 virtual bool equal(const object_base *obj) const = 0; 00028 //!< Returns true if the object passed in is equivalent to this one. 00029 //! 00030 }; 00031 00032 }; // common 00033 }; // ph 00034 00035 #endif // incCOMMON_COMPAREABLE_OBJECT