SLimAtom Class Template Reference
[Utility Classes and Functions]

#include <support/Atom.h>

List of all members.


Detailed Description

template<class T>
class SLimAtom< T >

A minimalistic variation of SAtom/SLightAtom that only supports strong reference counts.

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!


Member Typedef Documentation

typedef T type
 


Constructor & Destructor Documentation

SLimAtom  )  [inline]
 

Constructor -- initialize reference count to zero.

~SLimAtom  )  [inline, protected]
 

Destroyed when the reference count goes to zero. Do not manually delete yourself!


Member Function Documentation

void DecStrong const void *   )  const [inline]
 

Version of DecStrongFast() for compatibility with sptr<T>.

void DecStrongFast  )  const [inline]
 

Decrement reference count, deleting object when it goes back to zero.

void IncStrong const void *   )  const [inline]
 

Version of IncStrongFast() for compatibility with sptr<T>.

void IncStrongFast  )  const [inline]
 

Increment reference count.


The documentation for this class was generated from the following file: