00001 #ifndef PRIMITIVE_CHANNEL_INSTANCE_H_INCLUDED_ 00002 #define PRIMITIVE_CHANNEL_INSTANCE_H_INCLUDED_ 00003 00004 #include <vector> 00005 00006 #include "channel_instance.h" 00007 #include "rose.h" 00008 00009 namespace risc { 00010 00011 class PrimitiveChannel; 00012 00013 class PrimitiveChannelInstance: public ChannelInstance { 00014 00015 public: 00016 00020 explicit PrimitiveChannelInstance(SgVariableDefinition *ast_node, 00021 PrimitiveChannel *definition); 00022 00023 00028 virtual std::string get_ast_type_name(); 00029 00030 PrimitiveChannel *definition_; 00031 00032 private: 00036 PrimitiveChannelInstance(const PrimitiveChannelInstance &pci); 00037 }; 00038 00039 typedef std::vector<PrimitiveChannelInstance*> 00040 PrimitiveChannelInstanceVector; 00041 typedef std::vector<PrimitiveChannelInstance*>::iterator 00042 PrimitiveChannelInstanceVectorIter; 00043 typedef std::vector<PrimitiveChannelInstance*>::const_iterator 00044 PrimitiveChannelInstanceVectorConstIter; 00045 typedef std::vector<PrimitiveChannelInstance*>::iterator 00046 PrimitiveChannelInstanceVectorIter; 00047 00048 } // end namespace risc 00049 00050 #endif /* PRIMITIVE_CHANNEL_INSTANCE_H_INCLUDED_ */ 00051 00052 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */