All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
instance.h
Go to the documentation of this file.
1 #ifndef INSTANCE_H_INCLUDED_
2 #define INSTANCE_H_INCLUDED_
3 
4 #include <string>
5 
6 #include "rose.h"
7 #include "object.h"
8 
9 namespace risc {
10 
11 class Module;
12 
17 class Instance: public Object{
18 
19 public:
20 
24  explicit Instance(SgVariableDefinition *ast_node, Type type);
25 
30  virtual std::string get_ast_type_name();
31 
32  virtual Class* get_definition() = 0;
33 
34 private:
38  Instance(const Instance &i);
39 };
40 
41 
42 typedef std::vector<Instance*> InstanceVector;
43 typedef std::vector<Instance*>::iterator InstanceVectorIter;
44 typedef std::vector<Instance*>::const_iterator InstanceVectorConstIter;
45 
46 }; // end namespace risc
47 
48 #endif /* INSTANCE_H_INCLUDED_ */
49 
50 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */
Definition: class.h:53
Definition: object.h:10
Instance(SgVariableDefinition *ast_node, Type type)
Default constructor.
Definition: instance.cpp:3
std::vector< Instance * >::const_iterator InstanceVectorConstIter
Definition: instance.h:44
std::vector< Instance * > InstanceVector
Definition: design.h:40
virtual std::string get_ast_type_name()
Get function for the name of the ast type of the module instance.
Definition: instance.cpp:8
Definition: instance.h:17
virtual Class * get_definition()=0
Type
We are using these enums to identify type type of and instance or definition during traversal...
Definition: definition.h:20
std::vector< Instance * >::iterator InstanceVectorIter
Definition: instance.h:43