Fawkes API  Fawkes Development Version
fawkes::LockMap Class Reference

Map with a lock. More...

#include <>>

Inheritance diagram for fawkes::LockMap:

List of all members.

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< Mutexmutex () 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.

Detailed Description

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
Author:
Tim Niemueller

Constructor & Destructor Documentation

fawkes::LockMap::LockMap ( )

Constructor.

Definition at line 76 of file lock_map.h.

fawkes::LockMap::LockMap ( const LockMap< KeyType, ValueType, LessKey > &  lm)

Copy constructor.

Parameters:
lmLockMap to copy

Definition at line 85 of file lock_map.h.

fawkes::LockMap::~LockMap ( ) [virtual]

Destructor.

Definition at line 93 of file lock_map.h.


Member Function Documentation

void fawkes::LockMap::erase_locked ( const KeyType &  key)

Remove item with lock.

The map is automatically locked and unlocked during the removal.

Parameters:
keykey 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().

LockMap< KeyType, ValueType, LessKey > & fawkes::LockMap::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.

Parameters:
llmap to copy
Returns:
reference to this instance

Definition at line 161 of file lock_map.h.

LockMap< KeyType, ValueType, LessKey > & fawkes::LockMap::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.

Parameters:
lmap to copy
Returns:
reference to this instance

Definition at line 185 of file lock_map.h.

bool fawkes::LockMap::try_lock ( ) const

Try to lock list.

Returns:
true, if the lock has been aquired, false otherwise.

Definition at line 111 of file lock_map.h.


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