#include <ptlib/object.h>
#include <ptlib/critsec.h>
#include <ptlib/array.h>
#include <ptlib/lists.h>
#include <ptlib/dict.h>
#include <ptlib/pstring.h>
Go to the source code of this file.
Classes | |
class | PContainer |
class | PContainer::Reference |
class | PCollection |
Defines | |
#define | PCONTAINERINFO(cls, par) |
|
Value: Macro to declare funtions required in a container. This macro is used to declare all the functions that should be implemented for a working container class. It will also define some inline code for some standard function behaviour. This may be used when multiple inheritance requires a special class declaration. Normally, the #PDECLARE_CONTAINER# macro would be used, which includes this macro in it. The default implementation for contructors, destructor, the assignment operator and the MakeUnique() function is as follows: {verbatim} cls(const cls & c) : par(c) { CopyContents(c); } cls & operator=(const cls & c) { par::operator=(c); return *this; } cls(int dummy, const cls * c) : par(dummy, c) { CloneContents(c); } virtual ~cls() { Destruct(); } BOOL MakeUnique() { if (par::MakeUnique()) return TRUE; CloneContents(c); return FALSE; } {verbatim} Then the #DestroyContents()#, #CloneContents()# and #CopyContents()# functions are declared and must be implemented by the programmer. See the PContainer# class for more information on these functions. |