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

Access to an indexed [b]double[/b] data member. More...

#include <IndexedChannel.h>

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

Public Member Functions

 IndexedChannel (T &object, double(T::*getF)(int) const, void(T::*setF)(int, double), int index)
 Constructor.
 IndexedChannel (const IndexedChannel &)
virtual ~IndexedChannel ()
virtual IndexedChannelclone () 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

 IndexedChannel ()
const IndexedChanneloperator= (const IndexedChannel &)

Private Attributes

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

Detailed Description

template<class T>
class IndexedChannel< T >

Access to an indexed [b]double[/b] data member.

Definition at line 32 of file IndexedChannel.h.

Constructor & Destructor Documentation

◆ IndexedChannel() [1/3]

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

Constructor.

Definition at line 87 of file IndexedChannel.h.

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

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

Here is the call graph for this function:

◆ IndexedChannel() [2/3]

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

Definition at line 94 of file IndexedChannel.h.

References bias, Channel::Channel(), getF, IndexedChannel(), itsObject, and setF.

Here is the call graph for this function:

◆ ~IndexedChannel()

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

Definition at line 101 of file IndexedChannel.h.

◆ IndexedChannel() [3/3]

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

Member Function Documentation

◆ clone()

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

Duplicate the channel.

Implements Channel.

Definition at line 106 of file IndexedChannel.h.

References IndexedChannel().

Here is the call graph for this function:

◆ get()

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

Fetch from channel.

Implements ConstChannel.

Definition at line 112 of file IndexedChannel.h.

References bias, getF, and itsObject.

Referenced by IndexedChannel().

◆ isSettable()

template<class T>
bool IndexedChannel< T >::isSettable ( ) const
virtual

Test if settable.

Reimplemented from Channel.

Definition at line 130 of file IndexedChannel.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 IndexedChannel & IndexedChannel< T >::operator= ( const IndexedChannel< T > & )
private

References IndexedChannel().

Here is the call graph for this function:

◆ set()

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

Store into channel.

Implements Channel.

Definition at line 119 of file IndexedChannel.h.

References bias, itsObject, and setF.

Referenced by IndexedChannel().

Member Data Documentation

◆ bias

template<class T>
int IndexedChannel< T >::bias
private

Definition at line 82 of file IndexedChannel.h.

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

◆ getF

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

Definition at line 78 of file IndexedChannel.h.

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

◆ itsObject

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

Definition at line 75 of file IndexedChannel.h.

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

◆ setF

template<class T>
void(T::* IndexedChannel< T >::setF) (int, double)
private

Definition at line 79 of file IndexedChannel.h.

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


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