Stxxl  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
stxxl::const_shared_object_pointer< C > Class Template Reference

Behaves much like a Pointer, plus deleteing the referred object with it's last reference and ability to unify, i.e. make and refer a copy if the original object was shared. More...

#include <shared_object.h>

List of all members.

Public Member Functions

 const_shared_object_pointer (const shared_object_pointer< C > &shared_pointer)
 const_shared_object_pointer ()
 const_shared_object_pointer (const C *pointer)
 const_shared_object_pointer (const const_shared_object_pointer &shared_pointer)
const_shared_object_pointeroperator= (const const_shared_object_pointer &shared_pointer)
const_shared_object_pointeroperator= (const C *pointer)
 ~const_shared_object_pointer ()
const Coperator* () const
const Coperator-> () const
 operator const C * () const
const Cget () const
bool operator== (const const_shared_object_pointer &shared_pointer) const
 operator bool () const
bool valid () const
bool empty () const
bool unique () const
 if the object is referred by this shared_object_pointer only

Private Member Functions

void new_reference ()
void new_reference (const C *o)
void delete_reference ()

Private Attributes

const Cptr

Detailed Description

template<class C>
class stxxl::const_shared_object_pointer< C >

Behaves much like a Pointer, plus deleteing the referred object with it's last reference and ability to unify, i.e. make and refer a copy if the original object was shared.

Use with objects derived from shared_object. Similar to boost/shared_ptr.

Definition at line 114 of file shared_object.h.


Constructor & Destructor Documentation

template<class C >
stxxl::const_shared_object_pointer< C >::const_shared_object_pointer ( const shared_object_pointer< C > &  shared_pointer) [inline]

Definition at line 128 of file shared_object.h.

Definition at line 132 of file shared_object.h.

template<class C >
stxxl::const_shared_object_pointer< C >::const_shared_object_pointer ( const C pointer) [inline]

Definition at line 135 of file shared_object.h.

template<class C >
stxxl::const_shared_object_pointer< C >::const_shared_object_pointer ( const const_shared_object_pointer< C > &  shared_pointer) [inline]

Definition at line 139 of file shared_object.h.

Definition at line 154 of file shared_object.h.


Member Function Documentation

template<class C >
void stxxl::const_shared_object_pointer< C >::delete_reference ( ) [inline, private]

Definition at line 124 of file shared_object.h.

template<class C >
bool stxxl::const_shared_object_pointer< C >::empty ( ) const [inline]

Definition at line 184 of file shared_object.h.

template<class C >
const C* stxxl::const_shared_object_pointer< C >::get ( ) const [inline]

Definition at line 172 of file shared_object.h.

template<class C >
void stxxl::const_shared_object_pointer< C >::new_reference ( ) [inline, private]
template<class C >
void stxxl::const_shared_object_pointer< C >::new_reference ( const C o) [inline, private]

Definition at line 121 of file shared_object.h.

template<class C >
stxxl::const_shared_object_pointer< C >::operator bool ( ) const [inline]

Definition at line 178 of file shared_object.h.

template<class C >
stxxl::const_shared_object_pointer< C >::operator const C * ( ) const [inline]

Definition at line 169 of file shared_object.h.

template<class C >
const C& stxxl::const_shared_object_pointer< C >::operator* ( ) const [inline]

Definition at line 157 of file shared_object.h.

template<class C >
const C* stxxl::const_shared_object_pointer< C >::operator-> ( ) const [inline]

Definition at line 163 of file shared_object.h.

template<class C >
const_shared_object_pointer& stxxl::const_shared_object_pointer< C >::operator= ( const const_shared_object_pointer< C > &  shared_pointer) [inline]

Definition at line 143 of file shared_object.h.

References stxxl::const_shared_object_pointer< C >::ptr.

template<class C >
const_shared_object_pointer& stxxl::const_shared_object_pointer< C >::operator= ( const C pointer) [inline]

Definition at line 146 of file shared_object.h.

template<class C >
bool stxxl::const_shared_object_pointer< C >::operator== ( const const_shared_object_pointer< C > &  shared_pointer) const [inline]

Definition at line 175 of file shared_object.h.

References stxxl::const_shared_object_pointer< C >::ptr.

template<class C >
bool stxxl::const_shared_object_pointer< C >::unique ( ) const [inline]

if the object is referred by this shared_object_pointer only

Definition at line 188 of file shared_object.h.

template<class C >
bool stxxl::const_shared_object_pointer< C >::valid ( ) const [inline]

Definition at line 181 of file shared_object.h.


Member Data Documentation

template<class C >
const C* stxxl::const_shared_object_pointer< C >::ptr [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines