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  do_dynamic_cast
 
struct  do_dynamic_cast< T2, TS2, C, A2, std::true_type, std::true_type >
 
struct  do_static_cast
 
struct  do_static_cast< T2, TS2, C, A2, std::false_type, std::true_type, std::true_type >
 
struct  do_static_cast< T2, TS2, C, A2, std::true_type, std::true_type, std::true_type >
 
struct  use_dynamic_cast
 
struct  use_static_cast
 

Public Types

typedef T element_type
 

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
 

Public Attributes

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

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, DM_get_by_id.cpp, DM_iterate_simple.cpp, and DM_spatial_processing.cpp.