FLOPC++
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
flopc::Handle< T > Class Template Reference

Utility for doing reference counted pointers. More...

#include <MP_utilities.hpp>

Inheritance diagram for flopc::Handle< T >:
Inheritance graph
[legend]
Collaboration diagram for flopc::Handle< T >:
Collaboration graph
[legend]

Public Member Functions

const T & operator-> () const
 
 Handle (const T &r)
 
 Handle (const Handle &h)
 
const Handleoperator= (const Handle &h)
 
 ~Handle ()
 

Protected Member Functions

void increment ()
 
void decrement ()
 

Private Member Functions

 Handle ()
 

Private Attributes

root
 

Detailed Description

template<class T>
class flopc::Handle< T >

Utility for doing reference counted pointers.

Definition at line 105 of file MP_utilities.hpp.

Constructor & Destructor Documentation

template<class T>
flopc::Handle< T >::Handle ( const T &  r)
inline

Definition at line 110 of file MP_utilities.hpp.

template<class T>
flopc::Handle< T >::Handle ( const Handle< T > &  h)
inline

Definition at line 113 of file MP_utilities.hpp.

template<class T>
flopc::Handle< T >::~Handle ( )
inline

Definition at line 124 of file MP_utilities.hpp.

template<class T>
flopc::Handle< T >::Handle ( )
inlineprivate

Definition at line 146 of file MP_utilities.hpp.

Member Function Documentation

template<class T>
void flopc::Handle< T >::decrement ( )
inlineprotected

if(root->count != 0) {

}

Definition at line 133 of file MP_utilities.hpp.

Referenced by flopc::Handle< Constant_base * >::operator=(), and flopc::Handle< Constant_base * >::~Handle().

template<class T>
void flopc::Handle< T >::increment ( )
inlineprotected
template<class T>
const T& flopc::Handle< T >::operator-> ( ) const
inline

Definition at line 107 of file MP_utilities.hpp.

Referenced by flopc::MP_domain::Forall(), and flopc::MP_domain::size().

template<class T>
const Handle& flopc::Handle< T >::operator= ( const Handle< T > &  h)
inline

Definition at line 116 of file MP_utilities.hpp.

Member Data Documentation

template<class T>
T flopc::Handle< T >::root
private

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