MySQL 9.1.0
Source Code Documentation
concurrent_map< Key, Value, Hash >::Bucket Class Reference

Public Member Functions

void put (const Key &key, Value &&value)
 
void erase (const Key &key)
 
template<typename Predicate >
void for_one (const Key &key, Predicate &p)
 
template<typename Predicate >
void for_each (Predicate &p)
 
std::size_t size () const
 
bool empty () const
 

Private Types

using BucketData = std::map< Key, Value >
 
using BucketIterator = typename BucketData::iterator
 
using ConstBucketIterator = typename BucketData::const_iterator
 

Private Attributes

BucketData data_
 
std::mutex data_mutex_
 

Member Typedef Documentation

◆ BucketData

template<typename Key , typename Value , typename Hash = std::hash<Key>>
using concurrent_map< Key, Value, Hash >::Bucket::BucketData = std::map<Key, Value>
private

◆ BucketIterator

template<typename Key , typename Value , typename Hash = std::hash<Key>>
using concurrent_map< Key, Value, Hash >::Bucket::BucketIterator = typename BucketData::iterator
private

◆ ConstBucketIterator

template<typename Key , typename Value , typename Hash = std::hash<Key>>
using concurrent_map< Key, Value, Hash >::Bucket::ConstBucketIterator = typename BucketData::const_iterator
private

Member Function Documentation

◆ empty()

template<typename Key , typename Value , typename Hash = std::hash<Key>>
bool concurrent_map< Key, Value, Hash >::Bucket::empty ( ) const
inline

◆ erase()

template<typename Key , typename Value , typename Hash = std::hash<Key>>
void concurrent_map< Key, Value, Hash >::Bucket::erase ( const Key &  key)
inline

◆ for_each()

template<typename Key , typename Value , typename Hash = std::hash<Key>>
template<typename Predicate >
void concurrent_map< Key, Value, Hash >::Bucket::for_each ( Predicate p)
inline

◆ for_one()

template<typename Key , typename Value , typename Hash = std::hash<Key>>
template<typename Predicate >
void concurrent_map< Key, Value, Hash >::Bucket::for_one ( const Key &  key,
Predicate p 
)
inline

◆ put()

template<typename Key , typename Value , typename Hash = std::hash<Key>>
void concurrent_map< Key, Value, Hash >::Bucket::put ( const Key &  key,
Value &&  value 
)
inline

◆ size()

template<typename Key , typename Value , typename Hash = std::hash<Key>>
std::size_t concurrent_map< Key, Value, Hash >::Bucket::size ( ) const
inline

Member Data Documentation

◆ data_

template<typename Key , typename Value , typename Hash = std::hash<Key>>
BucketData concurrent_map< Key, Value, Hash >::Bucket::data_
private

◆ data_mutex_

template<typename Key , typename Value , typename Hash = std::hash<Key>>
std::mutex concurrent_map< Key, Value, Hash >::Bucket::data_mutex_
mutableprivate

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