A implementation of lock-free fixed size hash map.
More...
#include <atomic_hash_map.h>
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
class apollo::cyber::base::AtomicHashMap< K, V, TableSize, std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type >
A implementation of lock-free fixed size hash map.
- Template Parameters
-
K | Type of key, must be integral |
V | Type of value |
128 | Size of hash table |
0 | Type traits, use for checking types of key & value |
◆ AtomicHashMap() [1/2]
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
◆ AtomicHashMap() [2/2]
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
◆ Get() [1/2]
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
◆ Get() [2/2]
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
◆ Has()
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
◆ operator=()
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
◆ Set() [1/3]
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
◆ Set() [2/3]
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
◆ Set() [3/3]
template<typename K, typename V, std::size_t TableSize = 128, typename std::enable_if< std::is_integral< K >::value &&(TableSize &(TableSize - 1))==0, int >::type = 0>
The documentation for this class was generated from the following file: