TARAXA
ThreadSafeMap< Key, Value > Class Template Reference

#include <util.hpp>

Public Member Functions

bool emplace (Key const &key, Value const &value)
 
std::size_t count (Key const &key) const
 
std::size_t size () const
 
std::pair< Value, bool > get (Key const &key) const
 
std::vector< Value > getValues (uint32_t count=0) const
 
void erase (std::function< bool(Value)> condition)
 
void clear ()
 
bool erase (const Key &key)
 

Protected Attributes

std::unordered_map< Key, Value > map_
 
std::shared_mutex mtx_
 

Member Function Documentation

◆ clear()

template<class Key , class Value >
void ThreadSafeMap< Key, Value >::clear ( )
inline

◆ count()

template<class Key , class Value >
std::size_t ThreadSafeMap< Key, Value >::count ( Key const &  key) const
inline

◆ emplace()

template<class Key , class Value >
bool ThreadSafeMap< Key, Value >::emplace ( Key const &  key,
Value const &  value 
)
inline

◆ erase() [1/2]

template<class Key , class Value >
bool ThreadSafeMap< Key, Value >::erase ( const Key &  key)
inline

◆ erase() [2/2]

template<class Key , class Value >
void ThreadSafeMap< Key, Value >::erase ( std::function< bool(Value)>  condition)
inline

◆ get()

template<class Key , class Value >
std::pair<Value, bool> ThreadSafeMap< Key, Value >::get ( Key const &  key) const
inline

◆ getValues()

template<class Key , class Value >
std::vector<Value> ThreadSafeMap< Key, Value >::getValues ( uint32_t  count = 0) const
inline

◆ size()

template<class Key , class Value >
std::size_t ThreadSafeMap< Key, Value >::size ( ) const
inline

Member Data Documentation

◆ map_

template<class Key , class Value >
std::unordered_map<Key, Value> ThreadSafeMap< Key, Value >::map_
protected

◆ mtx_

template<class Key , class Value >
std::shared_mutex ThreadSafeMap< Key, Value >::mtx_
mutableprotected

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