libhatchet
Loading...
Searching...
No Matches
hxhash_table_set_node< key_t_ > Class Template Reference

#include <hxhash_table.hpp>

Public Types

using key_t = key_t_

Public Member Functions

template<typename ref_t_>
 hxhash_table_set_node (ref_t_ &&key_)
 hxhash_table_set_node (const hxhash_table_set_node &src_)
hxhash_table_set_nodehash_next (void) const
void set_hash_next (hxhash_table_set_node *next_)
const key_t_ & hash_key (void) const
hxhash_t hash_value (void) const

Static Public Member Functions

static hxhash_t hash_value (const key_t_ &key_)

Detailed Description

template<typename key_t_>
class hxhash_table_set_node< key_t_ >

hxhash_table_set_node - Optional base class for unordered set entries.

Caches the hash value. See hxhash_table_map_node if you need a map node. Copy and move construction produce an unlinked node with the same key and hash. Copy and move assignment leave the linkage of either node unchanged. The hash table uses duck typing, so only the interface is required.

Member Typedef Documentation

◆ key_t

template<typename key_t_>
using hxhash_table_set_node< key_t_ >::key_t = key_t_

Constructor & Destructor Documentation

◆ hxhash_table_set_node() [1/2]

template<typename key_t_>
template<typename ref_t_>
hxhash_table_set_node< key_t_ >::hxhash_table_set_node ( ref_t_ && key_)
inline

Constructs a node from the key and caches its hash for reuse.

  • key : Key used to identify the node.

◆ hxhash_table_set_node() [2/2]

template<typename key_t_>
hxhash_table_set_node< key_t_ >::hxhash_table_set_node ( const hxhash_table_set_node< key_t_ > & src_)
inline

Constructs an unlinked node with the same key.

Member Function Documentation

◆ hash_key()

template<typename key_t_>
const key_t_ & hxhash_table_set_node< key_t_ >::hash_key ( void ) const
inline

The key and hash identify the node_t and should not change once added.

◆ hash_next()

template<typename key_t_>
hxhash_table_set_node * hxhash_table_set_node< key_t_ >::hash_next ( void ) const
inline

Returns the next node in the table's embedded linked list.

◆ hash_value() [1/2]

template<typename key_t_>
hxhash_t hxhash_table_set_node< key_t_ >::hash_value ( const key_t_ & key_)
inlinestatic

Returns the hash value computed for key.

Hash values are not required to be unique.

  • key : The key to hash.

◆ hash_value() [2/2]

template<typename key_t_>
hxhash_t hxhash_table_set_node< key_t_ >::hash_value ( void ) const
inline

Returns the cached hash value for the stored key.

Hash values are not required to be unique.

◆ set_hash_next()

template<typename key_t_>
void hxhash_table_set_node< key_t_ >::set_hash_next ( hxhash_table_set_node< key_t_ > * next_)
inline

Sets the next node in the table's embedded linked list.

  • next : The new next node pointer.

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