Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

CompareTrans< T > Class Template Reference

causes a transition if a value (through a pointer) goes above a given value More...

#include <CompareTrans.h>

Inheritance diagram for CompareTrans< T >:

Detailed Description

template<class T>
class CompareTrans< T >

causes a transition if a value (through a pointer) goes above a given value

You will need to specify an event mask which will be listened for. This event will then be listened for - each time it is received, CompareTrans will check the values for possible activation.

For example, if you want to transition when the IR sensor goes below, say 200, pass &state->sensors[IRDistOffset], CompareTrans::LT, 200, and EventBase(EventBase::sensorEGID,SensorSrcID::UpdatedSID,EventBase::statusETID) as the polling event. Or a timer event to just check at a certain interval.

If you pass a class as the templated type, only requires that < operator is defined for comparing inequality, == for equality, and a copy constructor (CompareTrans holds a protected copy of the value)

Passing NULL as the value to monitor will cause a transition on the first event received

Definition at line 26 of file CompareTrans.h.

List of all members.

Public Types

enum  Test_t {
  LT, GT, LTE, GTE,
  EQ, NE
}
 

use these values to sepecify what kind of comparison should be made to test for activation

More...

Public Member Functions

 CompareTrans (StateNode *destination, const T *monitor, Test_t test, const T &value)
 constructor, only checks monitor when it is first activated (no polling)
 CompareTrans (const std::string &name, StateNode *destination, const T *monitor, Test_t test, const T &value)
 constructor, only checks monitor when it is first activated (no polling)
 CompareTrans (StateNode *destination, const T *monitor, Test_t test, const T &value, const EventBase &poll)
 constructor, see CompareTrans class notes for information
 CompareTrans (const std::string &name, StateNode *destination, const T *monitor, Test_t test, const T &value, const EventBase &poll)
 constructor, see CompareTrans class notes for information
virtual void postStart ()
 starts listening
virtual void doEvent ()
 don't care about the event, just a pulse to check the values

Protected Attributes

const T * mon
 address of value to monitor
Test_t tst
 test to make
val
 value to compare against
bool isPolling
 set to true if poller should be used (otherwise only checked on activation)
EventBase poller
 event to listen to, when it comes, compare the values

Private Member Functions

 CompareTrans (const CompareTrans &node)
 don't call this
CompareTrans operator= (const CompareTrans &node)
 don't call this

Member Enumeration Documentation

template<class T >
enum CompareTrans::Test_t

use these values to sepecify what kind of comparison should be made to test for activation

Enumerator:
LT 

less than

GT 

greater than

LTE 

less than or equal

GTE 

greater than or equal

EQ 

equal

NE 

not equal

Definition at line 29 of file CompareTrans.h.


Constructor & Destructor Documentation

template<class T >
CompareTrans< T >::CompareTrans ( StateNode destination,
const T *  monitor,
Test_t  test,
const T &  value 
)

constructor, only checks monitor when it is first activated (no polling)

Definition at line 39 of file CompareTrans.h.

template<class T >
CompareTrans< T >::CompareTrans ( const std::string &  name,
StateNode destination,
const T *  monitor,
Test_t  test,
const T &  value 
)

constructor, only checks monitor when it is first activated (no polling)

Definition at line 44 of file CompareTrans.h.

template<class T >
CompareTrans< T >::CompareTrans ( StateNode destination,
const T *  monitor,
Test_t  test,
const T &  value,
const EventBase poll 
)

constructor, see CompareTrans class notes for information

Definition at line 49 of file CompareTrans.h.

template<class T >
CompareTrans< T >::CompareTrans ( const std::string &  name,
StateNode destination,
const T *  monitor,
Test_t  test,
const T &  value,
const EventBase poll 
)

constructor, see CompareTrans class notes for information

Definition at line 54 of file CompareTrans.h.

template<class T >
CompareTrans< T >::CompareTrans ( const CompareTrans< T > &  node  )  [private]

don't call this


Member Function Documentation

template<class T >
virtual void CompareTrans< T >::doEvent (  )  [virtual]

don't care about the event, just a pulse to check the values

Reimplemented from BehaviorBase.

Reimplemented in SmoothCompareTrans< T >.

Definition at line 68 of file CompareTrans.h.

Referenced by CompareTrans< T >::postStart().

template<class T >
CompareTrans CompareTrans< T >::operator= ( const CompareTrans< T > &  node  )  [private]

don't call this

template<class T >
virtual void CompareTrans< T >::postStart (  )  [virtual]

starts listening

Reimplemented from BehaviorBase.

Reimplemented in SmoothCompareTrans< T >.

Definition at line 59 of file CompareTrans.h.


Member Data Documentation

template<class T >
bool CompareTrans< T >::isPolling [protected]

set to true if poller should be used (otherwise only checked on activation)

Definition at line 95 of file CompareTrans.h.

Referenced by CompareTrans< T >::postStart().

template<class T >
const T* CompareTrans< T >::mon [protected]

address of value to monitor

Definition at line 92 of file CompareTrans.h.

Referenced by CompareTrans< T >::doEvent().

template<class T >
EventBase CompareTrans< T >::poller [protected]

event to listen to, when it comes, compare the values

Definition at line 96 of file CompareTrans.h.

Referenced by CompareTrans< T >::postStart().

template<class T >
Test_t CompareTrans< T >::tst [protected]

test to make

Definition at line 93 of file CompareTrans.h.

Referenced by CompareTrans< T >::doEvent().

template<class T >
T CompareTrans< T >::val [protected]

value to compare against

Definition at line 94 of file CompareTrans.h.

Referenced by CompareTrans< T >::doEvent().


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

Tekkotsu v5.1CVS
Generated Mon May 9 04:59:06 2016 by Doxygen 1.6.3