ORIGINAL
|
Forward declaration of hashable interface template. More...
#include <hash.h>
Public Member Functions | |
virtual u_integer | toHash () const noexcept |
Computes the hash of the object. | |
virtual bool | equals (const DERIVED &other) const noexcept |
Compares two objects for equality. | |
virtual | ~hashable ()=0 |
Virtual destructor. | |
Forward declaration of hashable interface template.
Interface for user-defined hashable types.
DERIVED | The derived class that inherits from hashable. |
DERIVED | The derived type (CRTP pattern) |
Provides default implementations for:
Classes implementing this interface automatically satisfy the HashTraits
concept, which requires both toHash()
method and equality comparison support.
Usage Example:
|
pure virtualdefault |
Virtual destructor.
|
virtualnoexcept |
Compares two objects for equality.
other | The object to compare with |
Default implementation uses operator== Override for custom equality logic.
|
virtualnoexcept |
Computes the hash of the object.
Default implementation uses byte-wise hashing of object representation. Override for custom hashing logic.
Reimplemented in original::autoPtr< TYPE, DERIVED, DELETER >, original::autoPtr< asyncWrapper< TYPE >, strongPtr< asyncWrapper< TYPE >, DELETER >, DELETER >, original::autoPtr< asyncWrapper< void >, strongPtr< asyncWrapper< void >, DELETER >, DELETER >, original::autoPtr< original::filter< TYPE >, strongPtr< original::filter< TYPE >, DELETER >, DELETER >, original::autoPtr< TYPE, ownerPtr< TYPE, deleter< TYPE > >, deleter< TYPE > >, original::autoPtr< TYPE, strongPtr< TYPE, DELETER >, DELETER >, original::autoPtr< TYPE, weakPtr< TYPE, DELETER >, DELETER >, original::containerAdapter< TYPE, SERIAL, ALLOC >, original::containerAdapter< original::strongPtr< taskBase >, chain, allocator >, original::containerAdapter< priorityTask, vector, allocator >, original::containerAdapter< TYPE, blocksList, allocator >, original::containerAdapter< TYPE, chain, allocator >, original::iterationStream< TYPE, DERIVED >, original::iterationStream< bool, bitSet< allocator< bool > > >, original::iterationStream< hashNode *, vector< hashNode *, rebind_alloc_pointer > >, original::iterationStream< opts, chain< opts, allocator< opts > > >, original::iterationStream< original::hashTable::hashNode *, vector< original::hashTable::hashNode *, rebind_alloc_pointer > >, original::iterationStream< original::skipList::skipListNode *, vector< original::skipList::skipListNode *, allocator< original::skipList::skipListNode * > > >, original::iterationStream< original::strongPtr< original::filter< TYPE > >, chain< original::strongPtr< original::filter< TYPE > >, allocator< original::strongPtr< original::filter< TYPE > > > > >, original::iterationStream< original::strongPtr< original::transform< TYPE > >, chain< original::strongPtr< original::transform< TYPE > >, allocator< original::strongPtr< original::transform< TYPE > > > > >, original::iterationStream< original::strongPtr< taskBase >, chain< original::strongPtr< taskBase >, allocator< original::strongPtr< taskBase > > > >, original::iterationStream< original::thread, array< original::thread, allocator< original::thread > > >, original::iterationStream< priorityTask, vector< priorityTask, allocator< priorityTask > > >, original::iterationStream< TYPE *, vector< TYPE *, allocator< TYPE * > > >, original::iterationStream< TYPE, array< TYPE, allocator< TYPE > > >, original::iterationStream< TYPE, blocksList< TYPE, allocator< TYPE > > >, original::iterationStream< TYPE, chain< TYPE, allocator< TYPE > > >, original::iterationStream< TYPE, forwardChain< TYPE, allocator< TYPE > > >, original::iterationStream< TYPE, vector< TYPE, allocator< TYPE > > >, original::iterationStream< underlying_type, array< underlying_type, rebind_alloc_underlying > >, original::async::sharedFuture< TYPE >, original::async::sharedFuture< void >, original::pThread, original::thread, original::time::duration, original::time::point, and original::time::UTCTime.