00001 #ifndef THREAD_H_INCLUDED_ 00002 #define THREAD_H_INCLUDED_ 00003 00004 #include <vector> 00005 00006 #include "rose.h" 00007 #include "function.h" 00008 #include "event.h" 00009 #include "port.h" 00010 00011 namespace risc { 00012 00013 class Thread: public Function { 00014 00015 public: 00016 00020 explicit Thread(SgFunctionDefinition *ast_node); 00021 00022 00023 EventVector static_event_sensitivity_list_; 00024 PortVector static_port_sensitivity_list_; 00025 00029 void print_event_list(); 00030 00031 private: 00035 Thread(const Thread &t); 00036 }; 00037 00038 typedef std::vector<Thread*> ThreadVector; 00039 typedef std::vector<Thread*>::iterator ThreadVectorIter; 00040 typedef std::vector<Thread*>::const_iterator ThreadVectorConstIter; 00041 00042 } // end namespace risc 00043 00044 #endif /* THREAD_H_INCLUDED_ */ 00045 00046 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */