openETCS
case study for the European Train Control System developed for the authors dissertation
Classes | Public Member Functions | Public Attributes | Private Member Functions | List of all members
oETCS::DF::CFunctionBlock Class Reference

base class for all function block elements in a data flow More...

#include <EVCStateMachine.h>

Inherited by oETCS::DF::CAnd, oETCS::DF::CBoolGate, oETCS::DF::CBoolSwitch, oETCS::DF::CBrakingToTargetSpeed, oETCS::DF::CCeelingSpeedControl, oETCS::DF::CComBlockIn, oETCS::DF::CComBlockOut, oETCS::DF::CCondition, oETCS::DF::CControlFlow, oETCS::DF::CDivision, oETCS::DF::CDMIInput, oETCS::DF::CDMIOutput, oETCS::DF::CDoubleArrayAccessor, oETCS::DF::CDoubleEqual, oETCS::DF::CDoubleEqualOrGreater, oETCS::DF::CDoubleGate, oETCS::DF::CDoubleGreater, oETCS::DF::CDoubleSwitch, oETCS::DF::CEmergencyBrake, oETCS::DF::CEnteredTrigger, oETCS::DF::CEVCCondition, oETCS::DF::CIntEqual, oETCS::DF::CIntGreater, oETCS::DF::CLevelCondition, oETCS::DF::CMultiplication, oETCS::DF::CNot, oETCS::DF::COdometer, oETCS::DF::COr, oETCS::DF::CServiceBrake, oETCS::DF::CStorage, oETCS::DF::CStringEqual, oETCS::DF::CStringGate, oETCS::DF::CStringSwitch, oETCS::DF::CSubstraction, oETCS::DF::CSum, and oETCS::DF::CXor.

Collaboration diagram for oETCS::DF::CFunctionBlock:
Collaboration graph

Classes

class  CInput
 container template class for input value storages of the type VALUE_T More...

Public Member Functions

virtual void Calculate ()=0 throw (::oETCS::DF::Error::CException)
 virtual method for computing all outputs and setting the all referenced outputs
 CFunctionBlock (oETCS::DF::CEVCStateMachine *const pStateMachine) throw ()
 general constructor
 CFunctionBlock (const CFunctionBlock &Source)
 deleted copy constructor to avoid copying
virtual ~CFunctionBlock () throw ()
 destructor

Public Attributes

oETCS::DF::CEVCStateMachine *const m_pStateMachine
 pointer to the all contenting EVC state machine

Private Member Functions

CFunctionBlockoperator= (CFunctionBlock &Source) throw ()
 private assignment operator to avoid assignment

Detailed Description

base class for all function block elements in a data flow

Definition at line 743 of file EVCStateMachine.h.

Constructor & Destructor Documentation

oETCS::DF::CFunctionBlock::CFunctionBlock ( oETCS::DF::CEVCStateMachine *const  pStateMachine) throw ()

general constructor

Parameters
[in]pStateMachinepointer to the contenting state machine

Definition at line 1320 of file EVCStateMachine.cpp.

oETCS::DF::CFunctionBlock::CFunctionBlock ( const CFunctionBlock Source)

deleted copy constructor to avoid copying

oETCS::DF::CFunctionBlock::~CFunctionBlock ( ) throw ()
virtual

destructor

Definition at line 1338 of file EVCStateMachine.cpp.

Member Function Documentation

virtual void oETCS::DF::CFunctionBlock::Calculate ( ) throw (::oETCS::DF::Error::CException)
pure virtual
oETCS::DF::CFunctionBlock & oETCS::DF::CFunctionBlock::operator= ( CFunctionBlock Source) throw ()
private

private assignment operator to avoid assignment

Definition at line 1349 of file EVCStateMachine.cpp.

Member Data Documentation

oETCS::DF::CEVCStateMachine* const oETCS::DF::CFunctionBlock::m_pStateMachine

pointer to the all contenting EVC state machine

Definition at line 894 of file EVCStateMachine.h.

Referenced by oETCS::DF::CCondition::Calculate(), and oETCS::DF::CDMIOutput::Calculate().


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

Copyright (C) 2010-2012 Johannes Feuser (feuser@uni-bremen.de)
The openETCS library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
The openETCS library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the openETCS library. If not, see "http://www.gnu.org/licenses/.