00001 #ifndef HIERARCHICAL_CHANNEL_INSTANCE_H_INCLUDED_ 00002 #define HIERARCHICAL_CHANNEL_INSTANCE_H_INCLUDED_ 00003 00004 #include <vector> 00005 00006 #include "rose.h" 00007 #include "channel_instance.h" 00008 00009 00010 namespace risc { 00011 00012 class HierarchicalChannel; 00013 00014 class HierarchicalChannelInstance: public ChannelInstance { 00015 00016 public: 00022 explicit HierarchicalChannelInstance(SgVariableDefinition *ast_node, 00023 HierarchicalChannel*ir_def); 00024 00025 00026 HierarchicalChannel* definition_; 00027 00028 private: 00029 00033 HierarchicalChannelInstance(const HierarchicalChannelInstance &hci); 00034 }; 00035 00036 typedef std::vector<HierarchicalChannelInstance*> 00037 HierarchicalChannelInstanceVector; 00038 typedef std::vector<HierarchicalChannelInstance*>::iterator 00039 HierarchicalChannelInstanceVectorIter; 00040 typedef std::vector<HierarchicalChannelInstance*>::const_iterator 00041 HierarchicalChannelInstanceVectorConstIter; 00042 00043 }; // end namespace risc 00044 00045 #endif /* HIERARCHICAL_CHANNEL_INSTANCE_H_INCLUDED_ */ 00046 00047 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */