OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
IndirectChannel< T > Class Template Reference

Access to a [b]double[/b] data member. More...

#include <IndirectChannel.h>

Inheritance diagram for IndirectChannel< T >:
Collaboration diagram for IndirectChannel< T >:

Public Member Functions

 IndirectChannel (T &object, double(T::*getF)() const, void(T::*setF)(double))
 Constructor.
 IndirectChannel (const IndirectChannel &)
virtual ~IndirectChannel ()
virtual IndirectChannelclone () const
 Duplicate the channel.
virtual bool get (double &) const
 Fetch from channel.
virtual bool set (double)
 Store into channel.
virtual bool isSettable () const
 Test if settable.
double operator+= (double value)
 Add and assign [b]value[/b] to channel.
double operator-= (double value)
 Subtract and assign [b]value[/b] to channel.
 operator double () const
 Read channel.

Private Member Functions

 IndirectChannel ()
const IndirectChanneloperator= (const IndirectChannel &)

Private Attributes

T & itsObject
double(T::* getF )() const
void(T::* setF )(double)

Detailed Description

template<class T>
class IndirectChannel< T >

Access to a [b]double[/b] data member.

Definition at line 32 of file IndirectChannel.h.

Constructor & Destructor Documentation

◆ IndirectChannel() [1/3]

template<class T>
IndirectChannel< T >::IndirectChannel ( T & object,
double(T::* getF )() const,
void(T::* setF )(double) )

Constructor.

Definition at line 83 of file IndirectChannel.h.

References get(), getF, itsObject, set(), and setF.

Referenced by clone(), IndirectChannel(), and operator=().

Here is the call graph for this function:

◆ IndirectChannel() [2/3]

template<class T>
IndirectChannel< T >::IndirectChannel ( const IndirectChannel< T > & rhs)

Definition at line 90 of file IndirectChannel.h.

References Channel::Channel(), getF, IndirectChannel(), itsObject, and setF.

Here is the call graph for this function:

◆ ~IndirectChannel()

template<class T>
IndirectChannel< T >::~IndirectChannel ( )
virtual

Definition at line 97 of file IndirectChannel.h.

◆ IndirectChannel() [3/3]

template<class T>
IndirectChannel< T >::IndirectChannel ( )
private

Member Function Documentation

◆ clone()

template<class T>
IndirectChannel< T > * IndirectChannel< T >::clone ( ) const
virtual

Duplicate the channel.

Implements Channel.

Definition at line 102 of file IndirectChannel.h.

References IndirectChannel().

Here is the call graph for this function:

◆ get()

template<class T>
bool IndirectChannel< T >::get ( double & value) const
virtual

Fetch from channel.

Implements ConstChannel.

Definition at line 108 of file IndirectChannel.h.

References getF, and itsObject.

Referenced by IndirectChannel().

◆ isSettable()

template<class T>
bool IndirectChannel< T >::isSettable ( ) const
inlinevirtual

Test if settable.

Reimplemented from Channel.

Definition at line 126 of file IndirectChannel.h.

References setF.

◆ operator double()

ConstChannel::operator double ( ) const
inlineinherited

Read channel.

Definition at line 46 of file ConstChannel.h.

References get().

Here is the call graph for this function:

◆ operator+=()

double Channel::operator+= ( double value)
inlineinherited

Add and assign [b]value[/b] to channel.

Definition at line 47 of file Channel.h.

References ConstChannel::get(), and set().

Here is the call graph for this function:

◆ operator-=()

double Channel::operator-= ( double value)
inlineinherited

Subtract and assign [b]value[/b] to channel.

Definition at line 51 of file Channel.h.

References ConstChannel::get(), and set().

Here is the call graph for this function:

◆ operator=()

template<class T>
const IndirectChannel & IndirectChannel< T >::operator= ( const IndirectChannel< T > & )
private

References IndirectChannel().

Here is the call graph for this function:

◆ set()

template<class T>
bool IndirectChannel< T >::set ( double value)
virtual

Store into channel.

Implements Channel.

Definition at line 115 of file IndirectChannel.h.

References itsObject, and setF.

Referenced by IndirectChannel().

Member Data Documentation

◆ getF

template<class T>
double(T::* IndirectChannel< T >::getF) () const
private

Definition at line 77 of file IndirectChannel.h.

Referenced by get(), IndirectChannel(), and IndirectChannel().

◆ itsObject

template<class T>
T& IndirectChannel< T >::itsObject
private

Definition at line 74 of file IndirectChannel.h.

Referenced by get(), IndirectChannel(), IndirectChannel(), and set().

◆ setF

template<class T>
void(T::* IndirectChannel< T >::setF) (double)
private

Definition at line 78 of file IndirectChannel.h.

Referenced by IndirectChannel(), IndirectChannel(), isSettable(), and set().


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