/******************************************************************* * * DESCRIPTION: class ParallelSimulatorState * * AUTHOR: Alejandro Troccoli * * EMAIL: mailto://atroccol@dc.uba.ar * * DATE: 09/11/2000 * *******************************************************************/ #ifndef _PSIMULATORSTATE_H #define _PSIMULATORSTATE_H #include "pProcessorState.h" #include "atomicstate.h" #include "JackyDebugStream.h" //for jacky-debug-mode class ParallelSimulatorState : public ParallelProcessorState { public: AtomicState* modelState; ParallelSimulatorState(): modelState(NULL){}; virtual ~ParallelSimulatorState(); ParallelSimulatorState& linkModelState(AtomicState* mdlSt) {modelState = mdlSt; return *this;} ParallelSimulatorState& operator=(ParallelSimulatorState& thisState); //Assignment void copyState(BasicState *); int getSize() const; #ifdef JACKY_DEBUG //Jacky: this function will be defined in all state classes for ParallelProcesses & Models // to show (print) the content of the state for debugging purpose virtual void showStateContent( ostream& ) const; #endif }; #ifdef JACKY_DEBUG inline void ParallelSimulatorState::showStateContent( ostream& out) const{ //1> first call the counterpart function in the base class ParallelProcessorState::showStateContent(out); //2> show content defined in this class out << "\tParallelSimulatorState -> the AtomicState is: " << endl << flush; modelState->showStateContent(out); } #endif #endif //_PSIMULATORSTATE_H