fawkes::LockMap< KeyType, ValueType, LessKey > Class Template Reference
[Fawkes Core Library]
Map with a lock.
More...
#include <core/utils/lock_map.h>

Public Member Functions | |
| LockMap () | |
| Constructor. | |
| LockMap (const LockMap< KeyType, ValueType, LessKey > &lm) | |
| Copy constructor. | |
| virtual | ~LockMap () |
| Destructor. | |
| void | lock () |
| Lock list. | |
| bool | try_lock () |
| Try to lock list. | |
| void | unlock () |
| Unlock list. | |
| RefPtr< Mutex > | mutex () const |
| Get access to the internal mutex. | |
| void | erase_locked (const KeyType &key) |
| Remove item with lock. | |
Detailed Description
template<typename KeyType, typename ValueType, typename LessKey = std::less<KeyType>>
class fawkes::LockMap< KeyType, ValueType, LessKey >
Map with a lock.
This class provides a map that has an intrinsic lock. The lock can be applied with the regular locking methods.
- See also:
- Mutex
Definition at line 37 of file lock_map.h.
Constructor & Destructor Documentation
| fawkes::LockMap< KeyType, ValueType, LessKey >::LockMap | ( | ) | [inline] |
| fawkes::LockMap< KeyType, ValueType, LessKey >::LockMap | ( | const LockMap< KeyType, ValueType, LessKey > & | lm | ) | [inline] |
| fawkes::LockMap< KeyType, ValueType, LessKey >::~LockMap | ( | ) | [inline, virtual] |
Member Function Documentation
| void fawkes::LockMap< KeyType, ValueType, LessKey >::erase_locked | ( | const KeyType & | key | ) | [inline] |
Remove item with lock.
The map is automatically locked and unlocked during the removal.
- Parameters:
-
key key of the value to erase
Definition at line 126 of file lock_map.h.
Referenced by fawkes::BlackBoardNetworkHandler::client_disconnected().
| void fawkes::LockMap< KeyType, ValueType, LessKey >::lock | ( | ) | [inline] |
Lock list.
Definition at line 94 of file lock_map.h.
Referenced by fawkes::FawkesNetworkServerThread::add_handler(), WorldModelNetworkThread::ball_pos_rcvd(), fawkes::WorldInfoDataContainer::check_timeout(), fawkes::BlackBoardNetworkHandler::client_disconnected(), fawkes::FawkesNetworkClient::deregister_handler(), FvBaseThread::finalize(), fawkes::FawkesNetworkServerThread::force_send(), fawkes::WorldInfoDataContainer::get_ball_pos_global(), fawkes::WorldInfoDataContainer::get_ball_pos_relative(), fawkes::WorldInfoDataContainer::get_hosts(), fawkes::PluginManager::get_loaded_plugins(), fawkes::WorldInfoDataContainer::get_opponent_pos(), fawkes::WorldInfoDataContainer::get_robot_pose(), WorldModelNetworkThread::global_ball_pos_rcvd(), fawkes::PluginManager::load(), WorldModelNetworkThread::loop(), fawkes::FawkesNetworkServerThread::loop(), fawkes::BlackBoardNetworkHandler::loop(), FvBaseThread::loop(), WorldModelNetworkThread::opponent_disapp_rcvd(), fawkes::WorldInfoDataContainer::opponent_disappeared(), 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::WorldInfoDataContainer::set_ball_pos(), fawkes::WorldInfoDataContainer::set_ball_velocity(), fawkes::WorldInfoDataContainer::set_opponent_pos(), fawkes::WorldInfoDataContainer::set_robot_pose(), fawkes::WorldInfoDataContainer::set_robot_velocity(), FawkesThreadManager::try_recover(), fawkes::PluginManager::unload(), FvBaseThread::unregister_thread(), and WorldModelMultiCopyFuser::~WorldModelMultiCopyFuser().
| RefPtr< Mutex > fawkes::LockMap< KeyType, ValueType, LessKey >::mutex | ( | ) | const [inline] |
Get access to the internal mutex.
Can be used with MutexLocker.
- Returns:
- internal mutex
Definition at line 140 of file lock_map.h.
Referenced by FvBaseThread::acquire_camctrl(), fawkes::BlackBoardInterfaceListener::bbil_add_data_interface(), fawkes::BlackBoardInterfaceListener::bbil_add_message_interface(), fawkes::BlackBoardInterfaceListener::bbil_add_reader_interface(), fawkes::BlackBoardInterfaceListener::bbil_add_writer_interface(), fawkes::BlackBoardInterfaceListener::bbil_remove_data_interface(), fawkes::BlackBoardInterfaceListener::bbil_remove_message_interface(), fawkes::BlackBoardInterfaceListener::bbil_remove_reader_interface(), fawkes::BlackBoardInterfaceListener::bbil_remove_writer_interface(), FawkesThreadManager::force_remove(), WorldModelMultiCopyFuser::fuse(), fawkes::BlackBoardNotifier::register_listener(), FawkesThreadManager::wakeup(), and FawkesThreadManager::wakeup_and_wait().
| bool fawkes::LockMap< KeyType, ValueType, LessKey >::try_lock | ( | ) | [inline] |
Try to lock list.
- Returns:
- true, if the lock has been aquired, false otherwise.
Definition at line 105 of file lock_map.h.
| void fawkes::LockMap< KeyType, ValueType, LessKey >::unlock | ( | ) | [inline] |
Unlock list.
Definition at line 114 of file lock_map.h.
Referenced by fawkes::FawkesNetworkServerThread::add_handler(), WorldModelNetworkThread::ball_pos_rcvd(), fawkes::WorldInfoDataContainer::check_timeout(), fawkes::BlackBoardNetworkHandler::client_disconnected(), fawkes::FawkesNetworkClient::deregister_handler(), FvBaseThread::finalize(), fawkes::FawkesNetworkServerThread::force_send(), fawkes::WorldInfoDataContainer::get_ball_pos_global(), fawkes::WorldInfoDataContainer::get_ball_pos_relative(), fawkes::WorldInfoDataContainer::get_hosts(), fawkes::PluginManager::get_loaded_plugins(), fawkes::WorldInfoDataContainer::get_opponent_pos(), fawkes::WorldInfoDataContainer::get_robot_pose(), WorldModelNetworkThread::global_ball_pos_rcvd(), fawkes::PluginManager::load(), WorldModelNetworkThread::loop(), fawkes::FawkesNetworkServerThread::loop(), fawkes::BlackBoardNetworkHandler::loop(), FvBaseThread::loop(), WorldModelNetworkThread::opponent_disapp_rcvd(), fawkes::WorldInfoDataContainer::opponent_disappeared(), 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::WorldInfoDataContainer::set_ball_pos(), fawkes::WorldInfoDataContainer::set_ball_velocity(), fawkes::WorldInfoDataContainer::set_opponent_pos(), fawkes::WorldInfoDataContainer::set_robot_pose(), fawkes::WorldInfoDataContainer::set_robot_velocity(), FawkesThreadManager::try_recover(), fawkes::PluginManager::unload(), FvBaseThread::unregister_thread(), and WorldModelMultiCopyFuser::~WorldModelMultiCopyFuser().
The documentation for this class was generated from the following file:
- src/libs/core/utils/lock_map.h

