00001 #ifndef HIERARCHICAL_CHANNEL_H_INCLUDED_ 00002 #define HIERARCHICAL_CHANNEL_H_INCLUDED_ 00003 00004 #include <vector> 00005 00006 #include "rose.h" 00007 00008 #include "module.h" 00009 00010 namespace risc { 00011 00012 class HierarchicalChannel: public Module { 00013 00014 public: 00015 00019 explicit HierarchicalChannel(SgClassDefinition *ast_node); 00020 00021 void print_hierarchical_channel_definition(); 00022 00027 int instance_counter_; 00028 00029 private: 00033 HierarchicalChannel(const HierarchicalChannel &hcd); 00034 }; 00035 00036 typedef std::vector<HierarchicalChannel*> 00037 HierarchicalChannelVector; 00038 typedef std::vector<HierarchicalChannel*>::iterator 00039 HierarchicalChannelVectorIter; 00040 typedef std::vector<HierarchicalChannel*>::const_iterator 00041 HierarchicalChannelVectorConstIter; 00042 00043 }; // end of namespace risc 00044 00045 #endif /* HIERARCHICAL_CHANNEL_H_INCLUDED_ */ 00046 00047 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */