Handle< T, Thread_safe, C, Alloc > Class Template Reference

Smart pointer class using reference counting with support for DM objects (see ObjectBase) More...

#include "Handle.hpp"

Classes

struct  bool_tag
struct  do_dynamic_cast
struct  do_dynamic_cast< T2, TS2, C, A2, boost::true_type, boost::true_type >
struct  do_static_cast
struct  do_static_cast< T2, TS2, C, A2, boost::false_type, boost::true_type, boost::true_type >
struct  do_static_cast< T2, TS2, C, A2, boost::true_type, boost::true_type, boost::true_type >
struct  notify
 the notify struct is used to communicate the reference conuter to the object it self (of derived from ObjectBaseRefCounting)
struct  notify< boost::true_type, CC >
struct  RefCountedT
struct  RefCountedT< TT, false, CC >
 Non-thread safe specialisation.
struct  use_dynamic_cast
struct  use_static_cast

Public Types

typedef T element_type
typedef const T *(self::* unspecified_bool_type )() const

Public Member Functions

 Handle (const Handle &h)
template<class T2 , bool TS2, class C2 , class A2 >
 Handle (const Handle< T2, TS2, C2, A2 > &other)
template<class T2 , bool TS2, class C2 , class A2 >
 Handle (const Handle< T2, TS2, C2, A2 > &other, const use_static_cast &)
template<class T2 , bool TS2, class C2 , class A2 >
 Handle (const Handle< T2, TS2, C2, A2 > &other, const use_dynamic_cast &)
 Handle (T *p)
Handleoperator= (const Handle &h)
template<class T2 , bool TS2, class C2 , class A2 >
Handleoperator= (const Handle< T2, TS2, C2, A2 > &other)
Handleoperator= (T *p)
size_type id () const
 operator const T & () const
 operator T & ()
const T * ptr () const
const T & operator* () const
T & operator* ()
const T * operator-> () const
T * operator-> ()
bool is_shared () const
get_count () const
T * release ()
void swap (Handle &h)
void reset ()
Handle clone () const
bool operator== (const Handle &h) const
bool operator!= (const Handle &h) const
bool operator> (const Handle &h) const
bool operator< (const Handle &h) const
 operator unspecified_bool_type () const

Friends

class Handle

Detailed Description

template<class T, bool Thread_safe = true, class C = unsigned int, class Alloc = Default_allocator<T>>
class DM::Handle< T, Thread_safe, C, Alloc >

Smart pointer class using reference counting with support for DM objects (see ObjectBase)

Examples:
demoSegmentation.cpp, DM_attribute_handling.cpp, DM_attributes_statistic.cpp, and DM_iterate_simple.cpp.