LibSWOC++ 1.5.14
Solid Wall of C++
Loading...
Searching...
No Matches
IntrusiveHashMap.h File Reference
#include <vector>
#include <array>
#include <algorithm>
#include "swoc/swoc_version.h"
#include "swoc/IntrusiveDList.h"
Include dependency graph for IntrusiveHashMap.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  swoc::IntrusiveHashMap< H >
 
struct  swoc::IntrusiveHashMap< H >::Bucket
 A bucket for the hash map. More...
 
struct  swoc::IntrusiveHashMap< H >::Bucket::Linkage
 Support for IntrusiveDList<Bucket::Linkage>, definitions and link storage. More...
 
struct  swoc::IntrusiveHashMap< H >::range
 
struct  swoc::IntrusiveHashMap< H >::const_range
 A range of constant elements in the map. More...
 

Namespaces

namespace  swoc
 For template deduction guides.
 

Functions

template<typename H, typename F>
auto swoc::detail::IntrusiveHashMapApply (IntrusiveHashMap< H > &map, F &&f) -> decltype(f(*static_cast< typename IntrusiveHashMap< H >::value_type * >(nullptr)), map)
 

Detailed Description

Intrusive hash map.

A hash map that depends on support in the hashed objects. Useful for sharing objects between hash maps with different keys / hashes.

Definition in file IntrusiveHashMap.h.

Function Documentation

◆ IntrusiveHashMapApply()

template<typename H, typename F>
auto swoc::detail::IntrusiveHashMapApply ( IntrusiveHashMap< H > & map,
F && f ) -> decltype(f(*static_cast<typename IntrusiveHashMap<H>::value_type *>(nullptr)), map)

Definition at line 610 of file IntrusiveHashMap.h.