PTLib  Version 2.10.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PSafeDictionary< Key, Base > Class Template Reference

This class defines a thread-safe array of objects. More...

#include <safecoll.h>

Inheritance diagram for PSafeDictionary< Key, Base >:
PSafeDictionaryBase< PDictionary< Key, Base >, Key, Base > PSafeCollection PObject

Public Types

typedef PSafePtr< Base > value_type
 

Additional Inherited Members

- Public Member Functions inherited from PSafeDictionaryBase< PDictionary< Key, Base >, Key, Base >
 PSafeDictionaryBase ()
 Create a safe dictionary wrapper around the real collection. More...
 
 PSafeDictionaryBase (const PSafeDictionaryBase &other)
 Copy constructor for safe collection. More...
 
PSafeDictionaryBaseoperator= (const PSafeDictionaryBase &other)
 Assign one safe collection to another. More...
 
virtual void SetAt (const Key &key, Base *obj)
 Add an object to the collection. More...
 
virtual PBoolean RemoveAt (const Key &key)
 Remove an object to the collection. More...
 
virtual PBoolean Contains (const Key &key)
 Determine of the dictionary contains an entry for the key. More...
 
virtual PSafePtr< Base > GetAt (PINDEX idx, PSafetyMode mode=PSafeReadWrite)
 Get the instance in the collection of the index. More...
 
virtual PSafePtr< Base > FindWithLock (const Key &key, PSafetyMode mode=PSafeReadWrite)
 Find the instance in the collection of an object with the same value. More...
 
PArray< Key > GetKeys () const
 Get an array containing all the keys for the dictionary. More...
 
- Static Public Member Functions inherited from PObject
static const char * Class ()
 Get the name of the class as a C string. More...
 
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
- Protected Member Functions inherited from PSafeCollection
void CopySafeCollection (PCollection *other)
 
void CopySafeDictionary (PAbstractDictionary *other)
 
void SafeRemoveObject (PSafeObject *obj)
 
 PDECLARE_NOTIFIER (PTimer, PSafeCollection, DeleteObjectsTimeout)
 
virtual PBoolean SafeRemove (PSafeObject *obj)
 Remove an object to the collection. More...
 
virtual PBoolean SafeRemoveAt (PINDEX idx)
 Remove an object to the collection. More...
 
- Protected Attributes inherited from PSafeCollection
PCollectioncollection
 
PMutex collectionMutex
 
bool deleteObjects
 
PList< PSafeObjecttoBeRemoved
 
PMutex removalMutex
 
PTimer deleteObjectsTimer
 
- Friends inherited from PObject

Detailed Description

template<class Key, class Base>
class PSafeDictionary< Key, Base >

This class defines a thread-safe array of objects.

See the PSafeObject class for more details. Especially in regard to enumeration of collections.

Member Typedef Documentation

template<class Key , class Base >
typedef PSafePtr<Base> PSafeDictionary< Key, Base >::value_type

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