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

A pointer which owns the object pointed at. More...

#include <OwnPtr.h>

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

Public Member Functions

 OwnPtr ()
 Default constructor.
 OwnPtr (const OwnPtr &)
 Copy constructor.
 OwnPtr (Object *)
 Constructor.
 ~OwnPtr ()
 Destructor.
OwnPtroperator= (const OwnPtr &)
 Assign.
OwnPtroperator= (Object *)
 Assign.
Objectoperator-> () const
 Delegation operator.
Objectoperator* () const
 Dereferencing operator.
bool isValid () const
 Test for validity.
Objectrelease ()
 Release ownership.

Private Attributes

Objectobject

Detailed Description

template<class Object>
class OwnPtr< Object >

A pointer which owns the object pointed at.

Definition at line 31 of file OwnPtr.h.

Constructor & Destructor Documentation

◆ OwnPtr() [1/3]

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

Default constructor.

Definition at line 87 of file OwnPtr.h.

References object.

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

Here is the caller graph for this function:

◆ OwnPtr() [2/3]

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

Copy constructor.

Definition at line 93 of file OwnPtr.h.

References object, and OwnPtr().

Here is the call graph for this function:

◆ OwnPtr() [3/3]

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

Constructor.

Definition at line 100 of file OwnPtr.h.

References object.

◆ ~OwnPtr()

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

Destructor.

Definition at line 106 of file OwnPtr.h.

References object.

Member Function Documentation

◆ isValid()

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

Test for validity.

Definition at line 144 of file OwnPtr.h.

Referenced by Line::parse(), and Expressions::parsePrimary().

Here is the caller graph for this function:

◆ operator*()

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

Dereferencing operator.

Definition at line 138 of file OwnPtr.h.

References object.

◆ operator->()

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

Delegation operator.

Definition at line 132 of file OwnPtr.h.

References object.

◆ operator=() [1/2]

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

Assign.

Definition at line 112 of file OwnPtr.h.

References object, and OwnPtr().

Here is the call graph for this function:

◆ operator=() [2/2]

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

Assign.

Definition at line 124 of file OwnPtr.h.

References object, and OwnPtr().

Here is the call graph for this function:

◆ release()

template<class Object>
Object * OwnPtr< Object >::release ( )
inline

Release ownership.

Definition at line 150 of file OwnPtr.h.

References object.

Referenced by Expressions::ASUnary< T >::make(), Expressions::SBinary< T, U >::make(), and Expressions::SUnary< T, U >::make().

Here is the caller graph for this function:

Member Data Documentation

◆ object

template<class Object>
Object* OwnPtr< Object >::object
mutableprivate

Definition at line 79 of file OwnPtr.h.

Referenced by operator*(), operator->(), operator=(), operator=(), OwnPtr(), OwnPtr(), OwnPtr(), release(), and ~OwnPtr().


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