OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
Pointer< Object > Class Template Reference

Reference-counted pointer. More...

#include <Pointer.h>

Inheritance diagram for Pointer< Object >:
Collaboration diagram for Pointer< Object >:

Public Member Functions

 Pointer ()
 Default constructor.
 Pointer (const Pointer &)
 Copy constructor.
 Pointer (Object *)
 Constructor.
 ~Pointer ()
 Destructor.
Pointeroperator= (const Pointer &)
 Assign.
Pointeroperator= (Object *)
 Assign.
Objectoperator-> () const
 Delegation operator.
Objectoperator* () const
 Dereferencing operator.
bool operator== (const Pointer &) const
 Pointer equality.
bool operator!= (const Pointer &) const
 Pointer inequality.
bool isValid () const
 Test for validity.
void unique ()
 Force unique.

Private Attributes

Objectobject

Detailed Description

template<class Object>
class Pointer< Object >

Reference-counted pointer.

Definition at line 38 of file Pointer.h.

Constructor & Destructor Documentation

◆ Pointer() [1/3]

template<class Object>
Pointer< Object >::Pointer ( )
inline

Default constructor.

Definition at line 99 of file Pointer.h.

References object.

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

Here is the caller graph for this function:

◆ Pointer() [2/3]

template<class Object>
Pointer< Object >::Pointer ( const Pointer< Object > & rhs)
inline

Copy constructor.

Definition at line 105 of file Pointer.h.

References object, and Pointer().

Here is the call graph for this function:

◆ Pointer() [3/3]

template<class Object>
Pointer< Object >::Pointer ( Object * obj)
inline

Constructor.

Definition at line 112 of file Pointer.h.

References object.

◆ ~Pointer()

template<class Object>
Pointer< Object >::~Pointer ( )
inline

Destructor.

Definition at line 119 of file Pointer.h.

References object.

Member Function Documentation

◆ isValid()

template<class Object>
bool Pointer< Object >::isValid ( ) const
inline

Test for validity.

Definition at line 172 of file Pointer.h.

◆ operator!=()

template<class Object>
bool Pointer< Object >::operator!= ( const Pointer< Object > & rhs) const
inline

Pointer inequality.

Definition at line 166 of file Pointer.h.

References object, and Pointer().

Here is the call graph for this function:

◆ operator*()

template<class Object>
Object & Pointer< Object >::operator* ( ) const
inline

Dereferencing operator.

Definition at line 154 of file Pointer.h.

References object.

◆ operator->()

template<class Object>
Object * Pointer< Object >::operator-> ( ) const
inline

Delegation operator.

Definition at line 148 of file Pointer.h.

References object.

◆ operator=() [1/2]

template<class Object>
Pointer< Object > & Pointer< Object >::operator= ( const Pointer< Object > & rhs)
inline

Assign.

Definition at line 125 of file Pointer.h.

References RCObject::addReference(), object, and Pointer().

Here is the call graph for this function:

◆ operator=() [2/2]

template<class Object>
Pointer< Object > & Pointer< Object >::operator= ( Object * obj)
inline

Assign.

Definition at line 137 of file Pointer.h.

References RCObject::addReference(), object, and Pointer().

Here is the call graph for this function:

◆ operator==()

template<class Object>
bool Pointer< Object >::operator== ( const Pointer< Object > & rhs) const
inline

Pointer equality.

Definition at line 160 of file Pointer.h.

References object, and Pointer().

Here is the call graph for this function:

◆ unique()

template<class Object>
void Pointer< Object >::unique ( )
inline

Force unique.

Definition at line 178 of file Pointer.h.

References RCObject::addReference(), and object.

Here is the call graph for this function:

Member Data Documentation

◆ object

template<class Object>
Object* Pointer< Object >::object
private

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