23 #ifndef INCLUDED_utility_keys_Key_hh
24 #define INCLUDED_utility_keys_Key_hh
64 template<
typename O,
typename S,
typename C >
friend class AutoKey;
65 template<
typename O,
typename S,
typename C >
friend class UserKey;
66 template<
typename T,
typename U >
friend class KeyLess;
109 if (
this != &key ) {
143 id( std::string
const & id_a ) = 0;
161 identifier( std::string
const & identifier_a ) = 0;
179 code( std::string
const & code_a ) = 0;
372 #endif // INCLUDED_utility_keys_Key_HH
bool operator!=(AutoKey< O, S, C > const &a, AutoKey< O, S, C > const &b)
AutoKey != AutoKey.
friend bool operator>=(Key const &a, Key const &b)
Key >= Key.
bool operator>=(AutoKey< O, S, C > const &a, AutoKey< O, S, C > const &b)
AutoKey >= AutoKey.
Automatic hidden index key abstract base class.
User-created hidden index key abstract base class.
virtual Key * clone() const =0
Clone this.
virtual bool equals(Key const &key) const =0
Equal to a Key?
bool operator<=(AutoKey< O, S, C > const &a, AutoKey< O, S, C > const &b)
AutoKey <= AutoKey.
bool operator<(AutoKey< O, S, C > const &a, AutoKey< O, S, C > const &b)
AutoKey < AutoKey.
virtual std::string const & code() const =0
Code.
friend bool operator==(Key const &a, Key const &b)
Key == Key.
virtual Index index() const =0
Index.
virtual std::string const & id() const =0
ID.
bool operator==(AutoKey< O, S, C > const &a, AutoKey< O, S, C > const &b)
AutoKey == AutoKey.
friend bool operator!=(Key const &a, Key const &b)
Key != Key.
bool operator>(AutoKey< O, S, C > const &a, AutoKey< O, S, C > const &b)
AutoKey > AutoKey.
utility::keys::lookup::key< KeyType > const key
utility::keys::KeyLess forward declarations
utility::keys::UserKey forward declarations
utility::keys::Key forward declarations
Key member comparison functor template.
bool comparable(Key const &a, Key const &b)
Are Keys of Comparable Types?
Key member comparison functor template for pointers.
virtual void assign_Key(Key const &key)=0
Key assignment.
virtual std::string const & identifier() const =0
Identifier.
virtual ~Key()
Destructor.
virtual bool less_than(Key const &key) const =0
Less than a Key?
Key()
Default constructor.
friend bool comparable(Key const &a, Key const &b)
Are Keys of Comparable Types?
Key & operator=(Key const &key)
Copy assignment.
Key(Key const &)
Copy constructor.
Hidden index key interface class.
friend bool operator>(Key const &a, Key const &b)
Key > Key.
virtual Index private_index() const =0
Index.
friend bool operator<(Key const &a, Key const &b)
Key < Key.
utility::keys::AutoKey forward declarations
friend bool operator<=(Key const &a, Key const &b)
Key <= Key.