#include <ptlib.h>
#include <ptlib/object.h>
Go to the source code of this file.
Classes | |
class | PSmartObject |
class | PSmartPointer |
Defines | |
#define | PSMART_POINTER_INFO(cls, par, type) |
#define PSMART_POINTER_INFO | ( | cls, | |||
par, | |||||
type | ) |
PCLASSINFO(cls, par) \ public: \ type * operator->() const \ { return (type *)PAssertNULL(object); } \ type & operator*() const \ { return *(type *)PAssertNULL(object); } \ operator type*() const \ { return (type *)object; }
This macro is used to declare a smart pointer class members. The class cls# is the smart pointer, descended from the par# class, to the type# class.
The macro declares in the class the following functions: {verbatim} PCLASSINFO(cls, par); Standard class info.
type * operator->() const; Access to the members of the smart object in the smart pointer.
type & operator*() const; Access to the value of the smart object in the smart pointer. {verbatim}