#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. 
 |