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 >:
flopc::MP_domain

Public Member Functions

const T & operator-> () const
 
 Handle (const T &r)
 
 Handle (const Handle &h)
 
const Handleoperator= (const Handle &h)
 
bool isDefined ()
 
 ~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 108 of file MP_utilities.hpp.

Constructor & Destructor Documentation

◆ Handle() [1/3]

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

Definition at line 113 of file MP_utilities.hpp.

◆ Handle() [2/3]

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

Definition at line 116 of file MP_utilities.hpp.

◆ ~Handle()

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

Definition at line 130 of file MP_utilities.hpp.

◆ Handle() [3/3]

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

Definition at line 152 of file MP_utilities.hpp.

Member Function Documentation

◆ decrement()

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

if(root->count != 0) {

}

Definition at line 139 of file MP_utilities.hpp.

◆ increment()

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

Definition at line 134 of file MP_utilities.hpp.

Referenced by flopc::operator*().

◆ isDefined()

template<class T>
bool flopc::Handle< T >::isDefined ( )
inline

Definition at line 127 of file MP_utilities.hpp.

Referenced by flopc::MP_model::add(), and flopc::MP_constraint::coefficients().

◆ operator->()

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

Definition at line 110 of file MP_utilities.hpp.

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

◆ operator=()

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

Definition at line 119 of file MP_utilities.hpp.

Member Data Documentation

◆ root

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

Definition at line 153 of file MP_utilities.hpp.

Referenced by flopc::Handle< Constraint_base *>::operator=().


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