libhatchet
Loading...
Searching...
No Matches
hxhash_table_node_string< allocator_ > Class Template Reference

#include <hxhash_table_nodes.hpp>

Public Member Functions

 hxhash_table_node_string (const char *k_)
 ~hxhash_table_node_string (void)
 hxhash_table_node_string (void)=delete
 hxhash_table_node_string (const hxhash_table_node_string &)=delete
void operator= (const hxhash_table_node_string &)=delete
Public Member Functions inherited from hxhash_table_set_node< const char * >
 hxhash_table_set_node (ref_t_ &&key_)
hxhash_table_set_node & operator= (const hxhash_table_set_node &x_)=delete
bool operator== (const hxhash_table_set_node &x_) const
bool operator< (const hxhash_table_set_node &x_) const
const const char *& hash_key (void) const
hxhash_t hash_value (void) const

Additional Inherited Members

Public Types inherited from hxhash_table_set_node< const char * >
using key_t
Protected Member Functions inherited from hxhash_node_base
 hxhash_node_base (hxhash_t hash_)
Protected Attributes inherited from hxhash_node_base
hxhash_node_base * hash_next
hxhash_t hash_val

Detailed Description

template<hxsystem_allocator_t allocator_ = hxsystem_allocator_heap>
class hxhash_table_node_string< allocator_ >

hxhash_table_node_string - Subclass of hxhash_table_set_node for C strings.

Allocates a copy, resulting in a string pool per hash table. The key is stored as a pointer to const to keep the hash table code const-correct. Copying and assignment are unimplemented and the key must be immutable in any assignment operation in a subclass.

Constructor & Destructor Documentation

◆ hxhash_table_node_string() [1/3]

template<hxsystem_allocator_t allocator_ = hxsystem_allocator_heap>
hxhash_table_node_string< allocator_ >::hxhash_table_node_string ( const char * k_)
inline

Constructor allocates and duplicates the string key, then initializes the node.

  • k : The string key to allocate, duplicate, and initialize the node with.

◆ ~hxhash_table_node_string()

template<hxsystem_allocator_t allocator_ = hxsystem_allocator_heap>
hxhash_table_node_string< allocator_ >::~hxhash_table_node_string ( void )
inline

Destructor frees the allocated string key.

◆ hxhash_table_node_string() [2/3]

template<hxsystem_allocator_t allocator_ = hxsystem_allocator_heap>
hxhash_table_node_string< allocator_ >::hxhash_table_node_string ( void )
delete

Assignment is undefined. The key is immutable.

◆ hxhash_table_node_string() [3/3]

template<hxsystem_allocator_t allocator_ = hxsystem_allocator_heap>
hxhash_table_node_string< allocator_ >::hxhash_table_node_string ( const hxhash_table_node_string< allocator_ > & )
delete

Member Function Documentation

◆ operator=()

template<hxsystem_allocator_t allocator_ = hxsystem_allocator_heap>
void hxhash_table_node_string< allocator_ >::operator= ( const hxhash_table_node_string< allocator_ > & )
delete

The documentation for this class was generated from the following file: