|
| | hashNode (const K_TYPE &key=K_TYPE{}, const V_TYPE &value=V_TYPE{}, hashNode *next=nullptr) |
| | Constructs a new hash node.
|
| |
| | hashNode (const hashNode &other) |
| | Copy constructor.
|
| |
| hashNode & | operator= (const hashNode &other) |
| | Copy assignment operator.
|
| |
| couple< const K_TYPE, V_TYPE > & | getVal () override |
| | Gets key-value pair (non-const)
|
| |
| const couple< const K_TYPE, V_TYPE > & | getVal () const override |
| | Gets key-value pair (const)
|
| |
| const K_TYPE & | getKey () const |
| | Gets the key (const)
|
| |
| const V_TYPE & | getValue () const |
| | Gets the value (const)
|
| |
| V_TYPE & | getValue () |
| | Gets the value (non-const)
|
| |
| void | setVal (couple< const K_TYPE, V_TYPE > data) override |
| | Not supported (throws unSupportedMethodError)
|
| |
| void | setValue (const V_TYPE &value) |
| | Sets a new value.
|
| |
| hashNode * | getPPrev () const override |
| | Not supported (throws unSupportedMethodError)
|
| |
| hashNode * | getPNext () const override |
| | Gets next node in chain.
|
| |
| void | setPNext (hashNode *new_next) |
| | Sets next node in chain.
|
| |
| | ~wrapper () override=default |
| | Destructor for the wrapper class.
|
| |
| std::string | className () const override |
| | Provides class identifier for diagnostics. See original::printable::className()
|
| |
| std::string | toString (bool enter) const override |
| | Generates formatted diagnostic string. See original::printable::toString()
|
| |
| | operator std::string () const |
| | Explicit conversion to std::string.
|
| |
| | operator const char * () const |
| | Explicit conversion to C-style string.
|
| |
| const char * | toCString (bool enter) const |
| | Direct C-string access with formatting control.
|
| |
|
template<typename TYPE > |
| auto | formatString (const TYPE &t) -> std::string |
| |
|
template<typename TYPE > |
| auto | formatCString (const TYPE &t) -> const char * |
| |
|
template<typename TYPE > |
| auto | formatEnum (const TYPE &t) -> std::string |
| |
|
template<typename TYPE > |
| auto | formatString (TYPE *const &ptr) -> std::string |
| |
|
| static void | connect (hashNode *prev, hashNode *next) |
| | Connects two nodes in chain.
|
| |
| template<typename TYPE > |
| static std::string | formatString (const TYPE &t) |
| | Universal value-to-string conversion.
|
| |
| template<typename TYPE > |
| static std::string | formatString (TYPE *const &ptr) |
| | Pointer-specific formatting.
|
| |
| template<typename TYPE > |
| static const char * | formatCString (const TYPE &t) |
| | C-string cache for temporary usage.
|
| |
| template<typename TYPE > |
| static std::string | formatEnum (const TYPE &t) |
| | Enum formatting utility.
|
| |
|
template<> |
| auto | formatString (const char &t) -> std::string |
| |
|
template<> |
| auto | formatString (const bool &t) -> std::string |
| |
|
template<> |
| auto | formatString (const char *const &ptr) -> std::string |
| |
template<typename K_TYPE, typename V_TYPE, typename ALLOC = allocator<K_TYPE>, typename HASH = hash<K_TYPE>>
class original::hashTable< K_TYPE, V_TYPE, ALLOC, HASH >::hashNode
Internal node type for hash table storage.
Wraps key-value pairs and maintains chain links for separate chaining. Each node contains:
The class provides:
- Key/value access methods
- Chain manipulation methods
- Proper memory management through wrapper interface