ETL  0.04.19
Public Types | Public Member Functions | Private Attributes | List of all members
loose_smart_ptr< T > Class Template Reference

Loose Object Smart Pointer. More...

#include <ETL/smart_ptr>

Public Types

typedef T value_type
typedef T & reference
typedef const T & const_reference
typedef T * pointer
typedef const T * const_pointer
typedef int count_type
typedef int size_type

Public Member Functions

 loose_smart_ptr ()
 Default constructor - empty smart_ptr.
 loose_smart_ptr (const loose_smart_ptr< value_type > &x)
 Default copy constructor.
 loose_smart_ptr (const smart_ptr< value_type > &x)
void reset ()
 operator smart_ptr< value_type > ()
 operator smart_ptr< const value_type > ()
const count_typecount () const
 Returns number of instances.
bool unique () const
reference operator* () const
pointer operator-> () const
pointer get () const
bool operator! () const

Private Attributes

value_typeobj
weak_reference_counter refcount

Detailed Description

template<class T>
class loose_smart_ptr< T >

Loose Object Smart Pointer.

See Also
smart_ptr
Todo:
This needs to be documented

Definition at line 230 of file _smart_ptr.h.

Member Typedef Documentation

template<class T>
typedef T loose_smart_ptr< T >::value_type

Definition at line 234 of file _smart_ptr.h.

template<class T>
typedef T& loose_smart_ptr< T >::reference

Definition at line 235 of file _smart_ptr.h.

template<class T>
typedef const T& loose_smart_ptr< T >::const_reference

Definition at line 236 of file _smart_ptr.h.

template<class T>
typedef T* loose_smart_ptr< T >::pointer

Definition at line 237 of file _smart_ptr.h.

template<class T>
typedef const T* loose_smart_ptr< T >::const_pointer

Definition at line 238 of file _smart_ptr.h.

template<class T>
typedef int loose_smart_ptr< T >::count_type

Definition at line 239 of file _smart_ptr.h.

template<class T>
typedef int loose_smart_ptr< T >::size_type

Definition at line 240 of file _smart_ptr.h.

Constructor & Destructor Documentation

template<class T>
loose_smart_ptr< T >::loose_smart_ptr ( )
inline

Default constructor - empty smart_ptr.

Definition at line 249 of file _smart_ptr.h.

template<class T>
loose_smart_ptr< T >::loose_smart_ptr ( const loose_smart_ptr< value_type > &  x)
inline

Default copy constructor.

Definition at line 252 of file _smart_ptr.h.

template<class T>
loose_smart_ptr< T >::loose_smart_ptr ( const smart_ptr< value_type > &  x)
inline

Definition at line 254 of file _smart_ptr.h.

Member Function Documentation

template<class T>
void loose_smart_ptr< T >::reset ( )
inline

Definition at line 256 of file _smart_ptr.h.

References loose_smart_ptr< T >::obj, and loose_smart_ptr< T >::refcount.

template<class T>
loose_smart_ptr< T >::operator smart_ptr< value_type > ( )
inline

Definition at line 258 of file _smart_ptr.h.

References loose_smart_ptr< T >::obj, and loose_smart_ptr< T >::refcount.

template<class T>
loose_smart_ptr< T >::operator smart_ptr< const value_type > ( )
inline

Definition at line 263 of file _smart_ptr.h.

References loose_smart_ptr< T >::obj, and loose_smart_ptr< T >::refcount.

template<class T>
const count_type& loose_smart_ptr< T >::count ( ) const
inline

Returns number of instances.

Definition at line 269 of file _smart_ptr.h.

References loose_smart_ptr< T >::refcount.

template<class T>
bool loose_smart_ptr< T >::unique ( ) const
inline
template<class T>
reference loose_smart_ptr< T >::operator* ( ) const
inline

Definition at line 273 of file _smart_ptr.h.

References loose_smart_ptr< T >::obj.

template<class T>
pointer loose_smart_ptr< T >::operator-> ( ) const
inline

Definition at line 275 of file _smart_ptr.h.

References loose_smart_ptr< T >::obj.

template<class T>
pointer loose_smart_ptr< T >::get ( ) const
inline

Definition at line 277 of file _smart_ptr.h.

References loose_smart_ptr< T >::obj.

Referenced by operator!=(), and operator==().

template<class T>
bool loose_smart_ptr< T >::operator! ( ) const
inline

Definition at line 279 of file _smart_ptr.h.

References loose_smart_ptr< T >::obj.

Member Data Documentation

template<class T>
value_type* loose_smart_ptr< T >::obj
private
template<class T>
weak_reference_counter loose_smart_ptr< T >::refcount
private

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