MeVisLabToolboxReference
ml::IntrusivePtrBase< Derived > Class Template Reference

A minimal base class that provides a reference counter for use with boost::intrusive_ptr. More...

#include <mlIntrusivePtrBase.h>

List of all members.

Protected Member Functions

 IntrusivePtrBase ()

Friends

void intrusive_ptr_add_ref (const IntrusivePtrBase< Derived > *ptr)
 Friend functions used by boost::intrusive_ptr.
void intrusive_ptr_release (const IntrusivePtrBase< Derived > *ptr)

Detailed Description

template<typename Derived>
class ml::IntrusivePtrBase< Derived >

A minimal base class that provides a reference counter for use with boost::intrusive_ptr.

In order to not require virtual destructors, this class uses CRTP (curiously recurring template pattern) and expects the derived class as template argument to this base class.

Definition at line 43 of file mlIntrusivePtrBase.h.


Constructor & Destructor Documentation

template<typename Derived>
ml::IntrusivePtrBase< Derived >::IntrusivePtrBase ( ) [inline, protected]

Definition at line 45 of file mlIntrusivePtrBase.h.


Friends And Related Function Documentation

template<typename Derived>
void intrusive_ptr_add_ref ( const IntrusivePtrBase< Derived > *  ptr) [friend]

Friend functions used by boost::intrusive_ptr.

template<typename Derived>
void intrusive_ptr_release ( const IntrusivePtrBase< Derived > *  ptr) [friend]

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