|
MrSID Decode SDK for LiDAR Reference Manual
1.1.4.4709
|
#include "lidar/Atomic.h"Go to the source code of this file.
Classes | |
| class | Object |
| Object is the base class for implementing reference counting. More... | |
| class | Scoped< TYPE > |
| Scoped is a wrapper class around Object that gives it block scoping. More... | |
Defines | |
| #define | ABSTRACT_OBJECT(classname) |
| Macros for defining boilerplate parts of derived Object classes. | |
| #define | CONCRETE_OBJECT(classname) |
| CONCRETE_OBJECT(): should be used when deriving classes that are concrete. | |
| #define | IMPLEMENT_OBJECT_CREATE(classname) classname * classname::create(void) { return new classname; } |
Functions | |
| template<typename OBJECT > | |
| static OBJECT * | RETAIN (OBJECT *obj) |
| Helper function for calling Object::retain(). | |
| template<typename OBJECT > | |
| static void | RELEASE (OBJECT *&obj) |
| Helper function for calling Object::release(). | |
| template<typename OBJECT > | |
| static OBJECT * | RETAIN (Scoped< OBJECT > &obj) |
| #define ABSTRACT_OBJECT | ( | classname | ) |
DISABLE_COPY(classname); \
protected: \
classname(void); \
virtual ~classname(void)
ABSTRACT_OBJECT(): should be used when deriving classes that will not be instantiated directly. (TYPE::create() is not declared.)
| #define CONCRETE_OBJECT | ( | classname | ) |
ABSTRACT_OBJECT(classname); \ public: \ static classname *create(void)
| #define IMPLEMENT_OBJECT_CREATE | ( | classname | ) | classname * classname::create(void) { return new classname; } |
| static void RELEASE | ( | OBJECT *& | obj | ) | [inline, static] |
RELEASE() tests for NULL before calling release() and set obj to NULL.
Definition at line 95 of file Object.h.
Referenced by Scoped< TYPE >::operator=(), and Scoped< TYPE >::~Scoped().
| static OBJECT* RETAIN | ( | OBJECT * | obj | ) | [inline, static] |
RETAIN() tests for NULL before calling retain() and returns obj.
Definition at line 84 of file Object.h.
Referenced by Scoped< TYPE >::operator=().