00001 #ifndef PORT_H_INCLUDED_
00002 #define PORT_H_INCLUDED_
00003 
00004 #include "rose.h"
00005 
00006 #include "object.h"
00007 
00008 namespace risc {
00009 
00010 class Port: public Object {
00011 
00012 public:
00013 
00017   explicit Port(SgVariableDefinition *ast_node, Type type = PortType);
00018 
00023   virtual std::string get_ast_type_name();
00024 
00025 private:
00029   Port(const Port &p);
00030 };
00031 
00032 typedef std::vector<Port*> PortVector;
00033 typedef std::vector<Port*>::iterator PortVectorIter;
00034 typedef std::vector<Port*>::const_iterator PortVectorConstIter;
00035 
00036 } 
00037 
00038 #endif 
00039 
00040