OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
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

TitsObject
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:
Here is the caller 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().

Here is the caller graph for this function:

◆ 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().

Here is the caller graph for this function:

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: