29 #ifndef _THREAD_SAFE_MAP_HPP_ 30 #define _THREAD_SAFE_MAP_HPP_ 32 #include <boost/smart_ptr.hpp> 33 #include <boost/thread/shared_mutex.hpp> 34 #include <boost/thread/mutex.hpp> 60 boost::shared_lock<boost::shared_mutex> lock(*(
mutex_.get()));
62 typename InternalMap::iterator it =
map_->find(first);
63 if (it !=
map_->end())
69 bool insert(
const std::string &first,
const T &value)
76 keys_.push_back(first);
77 map_->insert(std::pair<std::string, T>(first, value));
82 bool update(
const std::string &first,
const T &value)
89 (*map_)[first] = value;
94 std::vector<std::string>
keys()
bool update(const std::string &first, const T &value)
std::vector< std::string > keys_
boost::shared_ptr< boost::shared_mutex > mutex_
std::map< std::string, T > InternalMap
std::vector< std::string > keys()
T find(std::string first)
bool insert(const std::string &first, const T &value)
static const int lock_wait_time
boost::shared_ptr< InternalMap > map_