OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
IndexedChannel< T > Class Template Reference

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

#include <IndexedChannel.h>

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

Public Member Functions

 IndexedChannel (T &object, double(T::*getF)(int) const, void(T::*setF)(int, double), int index)
 Constructor.
 
 IndexedChannel (T &object, double(T::*getF)(int) const, void(T::*setF)(unsigned int, double), int index)
 
 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/4]

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

Constructor.

Definition at line 87 of file IndexedChannel.h.

◆ IndexedChannel() [2/4]

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

Definition at line 92 of file IndexedChannel.h.

◆ IndexedChannel() [3/4]

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

Definition at line 97 of file IndexedChannel.h.

◆ ~IndexedChannel()

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

Definition at line 101 of file IndexedChannel.h.

◆ IndexedChannel() [4/4]

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 104 of file IndexedChannel.h.

◆ get()

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

Fetch from channel.

Implements ConstChannel.

Definition at line 109 of file IndexedChannel.h.

◆ isSettable()

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

Test if settable.

Reimplemented from Channel.

Definition at line 125 of file IndexedChannel.h.

◆ operator double()

ConstChannel::operator double ( ) const
inlineinherited

Read channel.

Definition at line 43 of file ConstChannel.h.

References ConstChannel::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 45 of file Channel.h.

References ConstChannel::get(), and Channel::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 54 of file Channel.h.

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

Here is the call graph for this function:

◆ operator=()

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

◆ set()

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

Store into channel.

Implements Channel.

Definition at line 115 of file IndexedChannel.h.

Member Data Documentation

◆ bias

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

Definition at line 83 of file IndexedChannel.h.

◆ getF

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

Definition at line 79 of file IndexedChannel.h.

◆ itsObject

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

Definition at line 76 of file IndexedChannel.h.

◆ setF

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

Definition at line 80 of file IndexedChannel.h.


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