Bitstream Interpretation Library (BIL)  0.1
Design.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_DESIGN_HPP
8 #define BIL_DESIGN_HPP
9 
10 #include <xdl/model/Instance.hpp>
11 #include <xdl/model/Net.hpp>
12 
13 
14 namespace bil {
15 
24  class Design {
25  public:
26 
27  /**********************************************************************/
28  /* CONSTRUCTION / DESTRUCTION */
29  /**********************************************************************/
30 
34  Design();
35 
36 
37  /**********************************************************************/
38  /* DESIGN NAME */
39  /**********************************************************************/
40 
45  std::string& name();
46 
51  const std::string& name() const;
52 
53 
54  /**********************************************************************/
55  /* TARGET DEVICE NAME */
56  /**********************************************************************/
57 
62  std::string& deviceName();
63 
68  const std::string& deviceName() const;
69 
70 
71  /**********************************************************************/
72  /* NCD VERSION STRING */
73  /**********************************************************************/
74 
79  std::string& ncdVersion();
80 
85  const std::string& ncdVersion() const;
86 
87 
88  /**********************************************************************/
89  /* ATTRIBUTE STRING */
90  /**********************************************************************/
91 
96  std::string& attributes();
97 
102  const std::string& attributes() const;
103 
104 
105  /**********************************************************************/
106  /* INSTANCES */
107  /**********************************************************************/
108 
113  Instances& instances();
114 
119  const Instances& instances() const;
120 
121 
122  /**********************************************************************/
123  /* NETS */
124  /**********************************************************************/
125 
130  Nets& nets();
131 
136  const Nets& nets() const;
137 
138 
139  /**********************************************************************/
140  /* MODIFICATORS */
141  /**********************************************************************/
142 
146  void clear();
147 
148 
149  private:
150 
151  std::string m_name;
152  std::string m_deviceName;
153  std::string m_ncdVersion;
154  std::string m_attributes;
155  Instances m_instances;
156  Nets m_nets;
157 
158  };
159 
160 }
161 
162 #endif