TAO_AnyTypeCode  2.1.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
Public Member Functions
TAO::Null_RefCount_Policy Class Reference

No-op reference counting policy. More...

#include <Null_RefCount_Policy.h>

Inheritance diagram for TAO::Null_RefCount_Policy:
Inheritance graph
Collaboration diagram for TAO::Null_RefCount_Policy:
Collaboration graph

List of all members.

Public Member Functions

void add_ref (void)
 No-op reference increment.
void remove_ref (void)
 No-op reference decrement.

Detailed Description

No-op reference counting policy.

This class is intended to be used as a "policy" argument to a host class template that implements no-op reference counting. That class would then inherit privately from it like so:

template <class RefCountPolicy>
class MyHostClass : private RefCountPolicy
{
public:
void my_add_ref (void) { this->RefCountPolicy::add_ref (); }
void my_remove_ref (void) { this->RefCountPolicy::remove_ref (); }
};

and use it like so:

typedef MyHostClass<TAO::Null_RefCount_Policy> MyNonRefCountedClass;
MyNonRefCountedClass m;
...
Note:
In order to incur no size overhead on the host class due to virtual tables, no base class defining an interface is defined. This allows C++ compilers to apply the Empty Base Class Optimization.

Member Function Documentation

void TAO::Null_RefCount_Policy::add_ref ( void  )
inline

No-op reference increment.

void TAO::Null_RefCount_Policy::remove_ref ( void  )
inline

No-op reference decrement.


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