00001 #ifndef PRIMITIVE_CHANNEL_H_INCLUDED_ 00002 #define PRIMITIVE_CHANNEL_H_INCLUDED_ 00003 00004 #include <vector> 00005 00006 #include "rose.h" 00007 00008 #include "class.h" 00009 #include "interface.h" 00010 00011 namespace risc { 00012 00013 class PrimitiveChannelInstance; 00014 00015 class PrimitiveChannel: public Class { 00016 00017 public: 00018 00022 explicit PrimitiveChannel(SgClassDefinition *ast_node); 00023 00027 std::list<Interface*> get_interfaces(); 00028 00032 std::list<PrimitiveChannelInstance*> instances_; 00033 00034 private: 00035 00039 PrimitiveChannel(const PrimitiveChannel& pcd); 00040 }; 00041 00042 typedef std::vector<PrimitiveChannel*> 00043 PrimitiveChannelVector; 00044 typedef std::vector<PrimitiveChannel*>::iterator 00045 PrimitiveChannelVectorIter; 00046 typedef std::vector<PrimitiveChannel*>::const_iterator 00047 PrimitiveChannelVectorConstIter; 00048 00049 } // end namespace risc 00050 00051 #endif /* PRIMITIVE_CHANNEL_H_INCLUDED_ */ 00052 00053 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */