Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

CompareTrans< T > Class Template Reference

#include <CompareTrans.h>

Inheritance diagram for CompareTrans< T >:

Inheritance graph
[legend]
List of all members.

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,SensorSourceID::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 25 of file CompareTrans.h.

Public Types

 LT
 less than
 GT
 greater than
 LTE
 less than or equal
 GTE
 greater than or equal
 EQ
 equal
 NE
 not equal
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 (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 DoStart ()
 starts listening
virtual void DoStop ()
 stops listening
virtual void processEvent (const EventBase &)
 don't care about the event, just a pulse to check the values

Protected Member Functions

 CompareTrans (const std::string &classname, const std::string &instancename, StateNode *destination, const T *monitor, Test_t test, const T &value)
 constructor (no polling), see CompareTrans class notes for information (this version is only need by subclasses so they can pass their type name)
 CompareTrans (const std::string &classname, const std::string &instancename, StateNode *destination, const T *monitor, Test_t test, const T &value, const EventBase &poll)
 constructor, see CompareTrans class notes for information (this version is only need by subclasses so they can pass their type name)

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 28 of file CompareTrans.h.


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

Tekkotsu v3.0
Generated Fri May 11 20:07:49 2007 by Doxygen 1.4.7