|
OpenWalnut
1.4.0
|
This class provides a common interface for thread-safe access to associative containers (set, multiset, map, multimap). More...
#include <WSharedAssociativeContainer.h>
Inheritance diagram for WSharedAssociativeContainer< T >:Public Types | |
| typedef T::const_iterator | ConstIterator |
| A typedef for the correct const iterator useful to traverse this sequence container. More... | |
| typedef T::iterator | Iterator |
| A typedef for the correct iterator to traverse this sequence container. More... | |
| typedef T::value_type | value_type |
| The type of the elements. More... | |
| typedef T::key_type | key_type |
| The type of the key used in this associative container. More... | |
Public Types inherited from WSharedObject< T > | |
| typedef T | ValueT |
| The type protected by this shared object class. More... | |
| typedef boost::shared_ptr< WSharedObjectTicketRead< T > > | ReadTicket |
| Type for read tickets. More... | |
| typedef boost::shared_ptr< WSharedObjectTicketWrite< T > > | WriteTicket |
| Type for write tickets. More... | |
| typedef boost::shared_ptr< WSharedObject< T > > | SPtr |
| Shared pointer abbreviation. More... | |
| typedef boost::shared_ptr< WSharedObject< T > > | ConstSPtr |
| Const shared ptr abbreviation. More... | |
Public Member Functions | |
| WSharedAssociativeContainer () | |
| Default constructor. More... | |
| virtual | ~WSharedAssociativeContainer () |
| Destructor. More... | |
| void | clear () |
| Clears the container. More... | |
| bool | empty () const |
| Return true if the container is empty. More... | |
| size_t | size () const |
| The current size of the container. More... | |
| size_t | max_size () const |
| The maximum size of a container. More... | |
| size_t | count (const key_type &x) const |
| Count elements with a specific key. More... | |
| size_t | erase (const key_type &x) |
| Erases the element with the specified key. More... | |
| std::pair< Iterator, bool > | insert (const value_type &x) |
| Inserts the specified element. More... | |
Public Member Functions inherited from WSharedObject< T > | |
| WSharedObject () | |
| Default constructor. More... | |
| virtual | ~WSharedObject () |
| Destructor. More... | |
| ReadTicket | getReadTicket () const |
| Returns a ticket to get read access to the contained data. More... | |
| WriteTicket | getWriteTicket (bool suppressNotify=false) const |
| Returns a ticket to get write access to the contained data. More... | |
| boost::shared_ptr< WCondition > | getChangeCondition () const |
| This condition fires whenever the encapsulated object changed. More... | |
Additional Inherited Members | |
Protected Attributes inherited from WSharedObject< T > | |
| T | m_object |
| The object wrapped by this class. More... | |
| boost::shared_ptr< boost::shared_mutex > | m_lock |
| The lock to ensure thread safe access. More... | |
| boost::shared_ptr< WCondition > | m_changeCondition |
| This condition set fires whenever the contained object changes. More... | |
This class provides a common interface for thread-safe access to associative containers (set, multiset, map, multimap).
Definition at line 40 of file WSharedAssociativeContainer.h.
| typedef T::const_iterator WSharedAssociativeContainer< T >::ConstIterator |
A typedef for the correct const iterator useful to traverse this sequence container.
Definition at line 48 of file WSharedAssociativeContainer.h.
| typedef T::iterator WSharedAssociativeContainer< T >::Iterator |
A typedef for the correct iterator to traverse this sequence container.
Definition at line 53 of file WSharedAssociativeContainer.h.
| typedef T::key_type WSharedAssociativeContainer< T >::key_type |
The type of the key used in this associative container.
Definition at line 63 of file WSharedAssociativeContainer.h.
| typedef T::value_type WSharedAssociativeContainer< T >::value_type |
The type of the elements.
Definition at line 58 of file WSharedAssociativeContainer.h.
| WSharedAssociativeContainer< T >::WSharedAssociativeContainer | ( | ) |
Default constructor.
Definition at line 133 of file WSharedAssociativeContainer.h.
|
virtual |
Destructor.
Definition at line 140 of file WSharedAssociativeContainer.h.
| void WSharedAssociativeContainer< T >::clear | ( | ) |
Clears the container.
Definition at line 146 of file WSharedAssociativeContainer.h.
References WSharedAssociativeContainer< T >::clear(), and WSharedObject< T >::getWriteTicket().
Referenced by WSharedAssociativeContainer< T >::clear().
| size_t WSharedAssociativeContainer< T >::count | ( | const key_type & | x | ) | const |
Count elements with a specific key.
The sense and non-sense of this method in a multi threaded environment is questionable.
| x | the key |
Definition at line 174 of file WSharedAssociativeContainer.h.
References WSharedAssociativeContainer< T >::count(), and WSharedObject< T >::getReadTicket().
Referenced by WSharedAssociativeContainer< T >::count().
| bool WSharedAssociativeContainer< T >::empty | ( | ) | const |
Return true if the container is empty.
The sense and non-sense of this method in a multi threaded environment is questionable.
Definition at line 153 of file WSharedAssociativeContainer.h.
References WSharedAssociativeContainer< T >::empty(), and WSharedObject< T >::getReadTicket().
Referenced by WSharedAssociativeContainer< T >::empty().
| size_t WSharedAssociativeContainer< T >::erase | ( | const key_type & | x | ) |
Erases the element with the specified key.
| x | the key |
Definition at line 181 of file WSharedAssociativeContainer.h.
References WSharedAssociativeContainer< T >::erase(), and WSharedObject< T >::getWriteTicket().
Referenced by WSharedAssociativeContainer< T >::erase().
| std::pair< typename WSharedAssociativeContainer< T >::Iterator, bool > WSharedAssociativeContainer< T >::insert | ( | const value_type & | x | ) |
Inserts the specified element.
| x | the element to add |
Definition at line 188 of file WSharedAssociativeContainer.h.
References WSharedObject< T >::getWriteTicket(), and WSharedAssociativeContainer< T >::insert().
Referenced by WGEColormapping::applyInst(), WModuleFactory::create(), and WSharedAssociativeContainer< T >::insert().
| size_t WSharedAssociativeContainer< T >::max_size | ( | ) | const |
The maximum size of a container.
Definition at line 167 of file WSharedAssociativeContainer.h.
References WSharedObject< T >::getReadTicket(), and WSharedAssociativeContainer< T >::max_size().
Referenced by WSharedAssociativeContainer< T >::max_size().
| size_t WSharedAssociativeContainer< T >::size | ( | ) | const |
The current size of the container.
0 if empty. The sense and non-sense of this method in a multi threaded environment is questionable.
Definition at line 160 of file WSharedAssociativeContainer.h.
References WSharedObject< T >::getReadTicket(), and WSharedAssociativeContainer< T >::size().
Referenced by WSharedAssociativeContainer< T >::size().
1.8.9.1