Listing 5 The class process definition

// SIM.HPP
#include "cor.hpp"

class process : private coroutine
{
friend void startProcess(void);
friend float currentTime(void);
friend void hold(float interval);
friend void passivate(void);
friend void activate(process *p,float time);
friend void cancel (process *p);
       float time;
       virtual void superMain(void);
       virtual void main(void) {}
public: process (void)           {time=0.0;}
       ~process (void)          {}
};

void initProcesses(void);
void activate(process *p,float time);
void hold(float interval);
void passivate(void);
void cancel (process *p);
process* mainProcess(void);
process* currentProcess (void);
float currentTime(void);

// End of File