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.
 PSafeDictionaryBase (const PSafeDictionaryBase &other)
 Copy constructor for safe collection.
PSafeDictionaryBaseoperator= (const PSafeDictionaryBase &other)
 Assign one safe collection to another.
virtual void SetAt (const Key &key, Base *obj)
 Add an object to the collection.
virtual PBoolean RemoveAt (const Key &key)
 Remove an object to the collection.
virtual PBoolean Contains (const Key &key)
 Determine of the dictionary contains an entry for the key.
virtual PSafePtr< Base > GetAt (PINDEX idx, PSafetyMode mode=PSafeReadWrite)
 Get the instance in the collection of the index.
virtual PSafePtr< Base > FindWithLock (const Key &key, PSafetyMode mode=PSafeReadWrite)
 Find the instance in the collection of an object with the same value.
PArray< Key > GetKeys () const
 Get an array containing all the keys for the dictionary.
- Static Public Member Functions inherited from PObject
static const char * Class ()
 Get the name of the class as a C string.
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect()
- 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.
virtual PBoolean SafeRemoveAt (PINDEX idx)
 Remove an object to the collection.
- 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: