OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
IndirectChannel< T > Class Template Reference

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

#include <IndirectChannel.h>

Inheritance diagram for IndirectChannel< T >:
Inheritance graph
[legend]
Collaboration diagram for IndirectChannel< T >:
Collaboration graph
[legend]

Public Member Functions

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

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::*)() const  getF,
void(T::*)(double)  setF 
)

Constructor.

Definition at line 83 of file IndirectChannel.h.

◆ IndirectChannel() [2/3]

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

Definition at line 90 of file IndirectChannel.h.

◆ ~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
virtual

Duplicate the channel.

Implements Channel.

Definition at line 102 of file IndirectChannel.h.

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

◆ isSettable()

template<class T >
bool IndirectChannel< T >::isSettable
inlinevirtual

Test if settable.

Reimplemented from Channel.

Definition at line 126 of file IndirectChannel.h.

◆ operator=()

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

◆ set()

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

Store into channel.

Implements Channel.

Definition at line 115 of file IndirectChannel.h.

Member Data Documentation

◆ getF

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

Definition at line 77 of file IndirectChannel.h.

◆ itsObject

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

Definition at line 74 of file IndirectChannel.h.

◆ setF

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

Definition at line 78 of file IndirectChannel.h.


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