00001 #ifndef FAN_OUT_LIST_HH
00002 #define FAN_OUT_LIST_HH
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <vector>
00013 using std::vector;
00014 #include <string>
00015 using std::string;
00016 #include <iostream>
00017 using std::ostream;
00018
00019 class FanDest;
00020 class SigEvent;
00021 class SimulationObject;
00022
00023 class FanOutList {
00024 public:
00025 FanOutList();
00026 ~FanOutList();
00027
00028 FanOutList( const FanOutList & );
00029 FanOutList &operator=( const FanOutList &that );
00030
00034 void sendEvent( const SigEvent *toSend, SimulationObject *sender );
00035
00039 void add( const string &processName, int destSigId );
00040
00044 void addAll( const FanOutList &toAdd );
00045
00049 void dump( ostream & );
00050
00051 private:
00052 vector<FanDest *> fanOut;
00053 };
00054
00055 #endif