#include <support/Atom.h>
SLimAtom adds only 4 bytes of overhead and no vtable. SLimAtom doesn't support ATOM_DEBUG (not yet at least).
Usage:
class type_to_atomize : public SLimAtom< type_to_atomize > { };
Be sure to call the SLimAtom<type_to_atomize> default constructor in your implementation.
Public Types | |
typedef T | type |
Public Member Functions | |
void | DecStrong (const void *) const |
Version of DecStrongFast() for compatibility with sptr<T>. | |
void | DecStrongFast () const |
Decrement reference count, deleting object when it goes back to zero. | |
void | IncStrong (const void *) const |
Version of IncStrongFast() for compatibility with sptr<T>. | |
void | IncStrongFast () const |
Increment reference count. | |
SLimAtom () | |
Constructor -- initialize reference count to zero. | |
Protected Member Functions | |
~SLimAtom () | |
Destroyed when the reference count goes to zero. Do not manually delete yourself! |
|
|
|
Constructor -- initialize reference count to zero.
|
|
Destroyed when the reference count goes to zero. Do not manually delete yourself!
|
|
Version of DecStrongFast() for compatibility with sptr<T>.
|
|
Decrement reference count, deleting object when it goes back to zero.
|
|
Version of IncStrongFast() for compatibility with sptr<T>.
|
|
Increment reference count.
|