|
Fawkes API
Fawkes Development Version
|
Map with a lock. More...
#include <>>

Public Member Functions | |
| LockMap () | |
| Constructor. | |
| LockMap (const LockMap< KeyType, ValueType, LessKey > &lm) | |
| Copy constructor. | |
| virtual | ~LockMap () |
| Destructor. | |
| void | lock () const |
| Lock list. | |
| bool | try_lock () const |
| Try to lock list. | |
| void | unlock () const |
| Unlock list. | |
| RefPtr< Mutex > | mutex () const |
| Get access to the internal mutex. | |
| void | erase_locked (const KeyType &key) |
| Remove item with lock. | |
| LockMap< KeyType, ValueType, LessKey > & | operator= (const LockMap< KeyType, ValueType, LessKey > &ll) |
| Copy values from another LockMap. | |
| LockMap< KeyType, ValueType, LessKey > & | operator= (const std::map< KeyType, ValueType, LessKey > &l) |
| Copy values from a standard map. | |
Additional Inherited Members | |
Public Attributes inherited from std::map< K, T > | |
| K | keys |
| STL member. | |
| T | elements |
| STL member. | |
Map with a lock.
This class provides a map that has an intrinsic lock. The lock can be applied with the regular locking methods.
Definition at line 37 of file lock_map.h.
| fawkes::LockMap< KeyType, ValueType, LessKey >::LockMap | ( | ) |
Constructor.
Definition at line 76 of file lock_map.h.
| fawkes::LockMap< KeyType, ValueType, LessKey >::LockMap | ( | const LockMap< KeyType, ValueType, LessKey > & | lm | ) |
|
virtual |
Destructor.
Definition at line 93 of file lock_map.h.
| void fawkes::LockMap< KeyType, ValueType, LessKey >::erase_locked | ( | const KeyType & | key | ) |
Remove item with lock.
The map is automatically locked and unlocked during the removal.
| key | key of the value to erase |
Definition at line 132 of file lock_map.h.
Referenced by fawkes::BlackBoardNetworkHandler::client_disconnected(), fawkes::PluginManager::load(), and fawkes::PluginManager::unload().
| void fawkes::LockMap< KeyType, ValueType, LessKey >::lock | ( | ) | const |
Lock list.
Definition at line 100 of file lock_map.h.
Referenced by fawkes::FawkesNetworkServerThread::add_handler(), WorldModelNetworkThread::ball_pos_rcvd(), fawkes::BlackBoardNetworkHandler::client_disconnected(), fawkes::FawkesNetworkClient::deregister_handler(), FvBaseThread::finalize(), fawkes::FawkesNetworkServerThread::force_send(), fawkes::PluginManager::get_loaded_plugins(), WorldModelNetworkThread::global_ball_pos_rcvd(), fawkes::PluginManager::load(), fawkes::FawkesNetworkServerThread::loop(), fawkes::BlackBoardNetworkHandler::loop(), WorldModelNetworkThread::loop(), FvBaseThread::loop(), fawkes::LockMap< KeyType, ValueType, LessKey >::operator=(), WorldModelNetworkThread::opponent_disapp_rcvd(), WorldModelNetworkThread::opponent_pose_rcvd(), WorldModelNetworkThread::pose_rcvd(), FvBaseThread::register_for_camera(), FvBaseThread::register_for_raw_camera(), fawkes::FawkesNetworkClient::register_handler(), fawkes::FawkesNetworkServerThread::remove_handler(), fawkes::PluginManager::unload(), and FvBaseThread::unregister_thread().
| RefPtr< Mutex > fawkes::LockMap< KeyType, ValueType, LessKey >::mutex | ( | ) | const |
Get access to the internal mutex.
Can be used with MutexLocker.
Definition at line 146 of file lock_map.h.
Referenced by FvBaseThread::acquire_camctrl(), and fawkes::PluginManager::load().
| LockMap< KeyType, ValueType, LessKey > & fawkes::LockMap< KeyType, ValueType, LessKey >::operator= | ( | const LockMap< KeyType, ValueType, LessKey > & | ll | ) |
Copy values from another LockMap.
Copies the values one by one. Both instances are locked during the copying and this instance is cleared before copying.
| ll | map to copy |
Definition at line 161 of file lock_map.h.
References fawkes::LockMap< KeyType, ValueType, LessKey >::lock(), and fawkes::LockMap< KeyType, ValueType, LessKey >::unlock().
| LockMap< KeyType, ValueType, LessKey > & fawkes::LockMap< KeyType, ValueType, LessKey >::operator= | ( | const std::map< KeyType, ValueType, LessKey > & | l | ) |
Copy values from a standard map.
Copies the values one by one. This instance is locked during the copying and cleared.
| l | map to copy |
Definition at line 185 of file lock_map.h.
| bool fawkes::LockMap< KeyType, ValueType, LessKey >::try_lock | ( | ) | const |
Try to lock list.
Definition at line 111 of file lock_map.h.
| void fawkes::LockMap< KeyType, ValueType, LessKey >::unlock | ( | ) | const |
Unlock list.
Definition at line 120 of file lock_map.h.
Referenced by fawkes::FawkesNetworkServerThread::add_handler(), WorldModelNetworkThread::ball_pos_rcvd(), fawkes::BlackBoardNetworkHandler::client_disconnected(), fawkes::FawkesNetworkClient::deregister_handler(), FvBaseThread::finalize(), fawkes::FawkesNetworkServerThread::force_send(), fawkes::PluginManager::get_loaded_plugins(), WorldModelNetworkThread::global_ball_pos_rcvd(), fawkes::PluginManager::load(), fawkes::FawkesNetworkServerThread::loop(), fawkes::BlackBoardNetworkHandler::loop(), WorldModelNetworkThread::loop(), FvBaseThread::loop(), fawkes::LockMap< KeyType, ValueType, LessKey >::operator=(), WorldModelNetworkThread::opponent_disapp_rcvd(), WorldModelNetworkThread::opponent_pose_rcvd(), WorldModelNetworkThread::pose_rcvd(), FvBaseThread::register_for_camera(), FvBaseThread::register_for_raw_camera(), fawkes::FawkesNetworkClient::register_handler(), fawkes::FawkesNetworkServerThread::remove_handler(), fawkes::PluginManager::unload(), and FvBaseThread::unregister_thread().