diff --git a/bootstrap/Makefile.package b/bootstrap/Makefile.package index 4fced53e..403a900e 100644 --- a/bootstrap/Makefile.package +++ b/bootstrap/Makefile.package @@ -73,10 +73,6 @@ install: FORCE cd build.dir/$$tool; \ makeArgs=""; \ cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=OFF"; \ - if [ "$$tool" = "stratus1" ]; then \ - makeArgs="dvi safepdf html"; \ - cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=ON"; \ - fi; \ if [ "$$tool" = "hurricane" \ -o "$$tool" = "crlcore" \ -o "$$tool" = "unicorn" ]; then \ diff --git a/bootstrap/builder/Builder.py b/bootstrap/builder/Builder.py index 7c33216e..0d78e2b5 100644 --- a/bootstrap/builder/Builder.py +++ b/bootstrap/builder/Builder.py @@ -213,10 +213,6 @@ class Builder: if self._ninja: command = [ "ninja-build" ] #command += [ "DESTDIR=%s" % self.installDir ] - if self._enableDoc == "ON": - #if tool.name == "crlcore" or tool.name == "stratus1": - if tool.name == "stratus1": - command += [ "dvi", "safepdf", "html" ] command += self._makeArguments print "Make/Ninja command:", command sys.stdout.flush () diff --git a/crlcore/doc/crlcore/html/AcmSigda_8h_source.html b/crlcore/doc/crlcore/html/AcmSigda_8h_source.html index cfb64f96..3bd49a3f 100644 --- a/crlcore/doc/crlcore/html/AcmSigda_8h_source.html +++ b/crlcore/doc/crlcore/html/AcmSigda_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 
2 // -*- C++ -*-
3 //
4 // This file is part of the Coriolis Software.
5 // Copyright (c) UPMC/LIP6 2010-2012, All Rights Reserved
6 //
7 // +-----------------------------------------------------------------+
8 // | C O R I O L I S |
9 // | ACM/SIGDA ISCAS 89 Benchmarks |
10 // | |
11 // | Author : Jean-Paul CHAPUT |
12 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
13 // | =============================================================== |
14 // | C++ Header : "./crlcore/AcmSigda.h" |
15 // +-----------------------------------------------------------------+
16 
17 
18 #ifndef __CRL_ACM_SIGDA__
19 #define __CRL_ACM_SIGDA__
20 
21 #include <string>
22 
23 namespace Hurricane {
24  class Cell;
25 }
26 
27 
28 namespace CRL {
29 
30  using Hurricane::Cell;
31 
32 
33  class AcmSigda {
34  public:
35  static Cell* load ( std::string benchmark );
36  };
37 
38 
39 } // End of CRL namespace.
40 
41 
42 #endif // __CRL_ACM_SIGDA__
43 
+
1 
+
2 // -*- C++ -*-
+
3 //
+
4 // This file is part of the Coriolis Software.
+
5 // Copyright (c) UPMC/LIP6 2010-2012, All Rights Reserved
+
6 //
+
7 // +-----------------------------------------------------------------+
+
8 // | C O R I O L I S |
+
9 // | ACM/SIGDA ISCAS 89 Benchmarks |
+
10 // | |
+
11 // | Author : Jean-Paul CHAPUT |
+
12 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
+
13 // | =============================================================== |
+
14 // | C++ Header : "./crlcore/AcmSigda.h" |
+
15 // +-----------------------------------------------------------------+
+
16 
+
17 
+
18 #ifndef __CRL_ACM_SIGDA__
+
19 #define __CRL_ACM_SIGDA__
+
20 
+
21 #include <string>
+
22 
+
23 namespace Hurricane {
+
24  class Cell;
+
25 }
+
26 
+
27 
+
28 namespace CRL {
+
29 
+
30  using Hurricane::Cell;
+
31 
+
32 
+
33  class AcmSigda {
+
34  public:
+
35  static Cell* load ( std::string benchmark );
+
36  };
+
37 
+
38 
+
39 } // End of CRL namespace.
+
40 
+
41 
+
42 #endif // __CRL_ACM_SIGDA__
+
43 
+ +
static Cell * load(std::string benchmark)
A Parser of ACM/Sigda 89&#39; benchmarks.
Definition: AcmSigda.h:33
- -
The namespace of Coriolis Core.
Definition: Environment.h:26


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html b/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html index e3a70a40..4e85bf5d 100644 --- a/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html +++ b/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/AllianceFramework.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ALLIANCE_FRAMEWORK_H
18 #define CRL_ALLIANCE_FRAMEWORK_H
19 
20 #include <map>
21 #include <limits>
22 #include "hurricane/Cell.h"
23 #include "crlcore/Environment.h"
24 #include "crlcore/AllianceLibrary.h"
25 #include "crlcore/Catalog.h"
26 #include "crlcore/ParsersDrivers.h"
27 
28 
29 namespace CRL {
30 
31  using Hurricane::Observable;
32  using Hurricane::BaseObserver;
35  using Hurricane::Cell;
36  using Hurricane::Net;
37  class RoutingGauge;
38  class CellGauge;
39 
40 
42  public:
43  enum FunctionsFlags { NoFlags = 0
44  , NoPythonInit = (1<<0)
45  };
47  , IgnoreFeeds = (1<<1)
48  };
49  enum LibraryFlags { CreateLibrary = (1<<0)
50  , AppendLibrary = (1<<1)
51  , HasCatalog = (1<<2)
52  };
53  enum NotifyFlags { AddedLibrary = (1<<0)
54  , RemovedLibrary = (1<<1)
55  , ConfigChanged = (1<<2)
56  };
57  public:
58  // Constructors.
59  static AllianceFramework* create ( unsigned long flags=NoFlags );
60  // Destructors.
61  void destroy ();
62  // Accessors.
63  static AllianceFramework* get ();
64  string getPrint () const;
65  // Predicates.
66  inline bool isPOWER ( const char* name );
67  inline bool isPOWER ( const string& name );
68  inline bool isPOWER ( const Name& name );
69  inline bool isGROUND ( const char* name );
70  inline bool isGROUND ( const string& name );
71  inline bool isGROUND ( const Name& name );
72  inline bool isCLOCK ( const char* name );
73  inline bool isCLOCK ( const string& name );
74  inline bool isCLOCK ( const Name& name );
75  inline bool isBLOCKAGE ( const char* name );
76  inline bool isBLOCKAGE ( const string& name );
77  inline bool isBLOCKAGE ( const Name& name );
78  inline bool isBLOCKAGE ( const Net* net );
79  inline bool isPad ( const char* name );
80  inline bool isPad ( const string& name );
81  inline bool isPad ( const Name& name );
82  inline bool isPad ( const Cell* );
83  // Accessors.
84  inline Environment* getEnvironment ();
85  inline Catalog* getCatalog ();
86  inline const Name& getParentLibraryName () const;
87  inline Library* getParentLibrary ();
88  Library* getLibrary ( unsigned int index );
89  Library* getLibrary ( const Name& libName );
90  AllianceLibrary* getAllianceLibrary ( unsigned int index );
91  AllianceLibrary* getAllianceLibrary ( const Name& libName, unsigned int flags );
93  AllianceLibrary* createLibrary ( const string& path, unsigned int flags, string libName="" );
94  inline const AllianceLibraries& getAllianceLibraries () const;
95  void saveLibrary ( Library* );
96  void saveLibrary ( AllianceLibrary* );
97  RoutingGauge* getRoutingGauge ( const Name& name="" );
98  CellGauge* getCellGauge ( const Name& name="" );
99  inline const Name getDefaultCGPinLayerName () const;
100  // Modifiers.
101  RoutingGauge* setRoutingGauge ( const Name& name="" );
102  CellGauge* setCellGauge ( const Name& name="" );
103  void addRoutingGauge ( RoutingGauge* );
104  void addCellGauge ( CellGauge* );
105  void addObserver ( BaseObserver* );
106  void removeObserver ( BaseObserver* );
107  void notify ( unsigned int flags );
108  // Cell Management.
109  Cell* cellLoader ( const string& rpath );
110  Cell* getCell ( const string& name
111  , unsigned int mode
112  , unsigned int depth=(unsigned int)-1 );
113  Cell* createCell ( const string& name, AllianceLibrary* library=NULL );
114  void saveCell ( Cell* , unsigned int mode );
115  unsigned int loadLibraryCells ( Library* );
116  unsigned int loadLibraryCells ( const Name& );
117  static size_t getInstancesCount ( Cell*, unsigned int flags );
118  // Hurricane Managment.
119  void toJson ( JsonWriter* ) const;
120  inline string _getTypeName () const;
121  string _getString () const;
122  Record* _getRecord () const;
123 
124  // Internals - Attributes.
125  protected:
126  static const Name _parentLibraryName;
127  static AllianceFramework* _singleton;
128  Observable _observers;
129  Environment _environment;
130  ParsersMap _parsers;
131  DriversMap _drivers;
132  Catalog _catalog;
133  AllianceLibraries _libraries;
134  Library* _parentLibrary;
135  map<Name,RoutingGauge*> _routingGauges;
136  RoutingGauge* _defaultRoutingGauge;
137  map<Name,CellGauge*> _cellGauges;
138  CellGauge* _defaultCellGauge;
139 
140  // Internals - Constructors.
143  AllianceFramework& operator= ( const AllianceFramework& );
144  // Internals - Destructors.
145  ~AllianceFramework ();
146  // Internals - Methods.
147  bool _readLocate ( const string& file, unsigned int mode, bool isLib=false );
148  bool _writeLocate ( const string& file, unsigned int mode, bool isLib=false );
149  AllianceLibrary* _createLibrary ( const string& path, bool& hasCatalog );
150  void _bindLibraries ();
151  };
152 
153  inline bool AllianceFramework::isPOWER ( const char* name ) { return _environment.isPOWER(name); }
154  inline bool AllianceFramework::isPOWER ( const string& name ) { return isPOWER(name.c_str()); }
155  inline bool AllianceFramework::isPOWER ( const Name& name ) { return isPOWER(getString(name)); }
156  inline bool AllianceFramework::isGROUND ( const char* name ) { return _environment.isGROUND(name); }
157  inline bool AllianceFramework::isGROUND ( const string& name ) { return isGROUND(name.c_str()); }
158  inline bool AllianceFramework::isGROUND ( const Name& name ) { return isGROUND(getString(name)); }
159  inline bool AllianceFramework::isCLOCK ( const char* name ) { return _environment.isCLOCK(name); }
160  inline bool AllianceFramework::isCLOCK ( const string& name ) { return isCLOCK(name.c_str()); }
161  inline bool AllianceFramework::isCLOCK ( const Name& name ) { return isCLOCK(getString(name)); }
162  inline bool AllianceFramework::isBLOCKAGE ( const char* name ) { return _environment.isBLOCKAGE(name); }
163  inline bool AllianceFramework::isBLOCKAGE ( const string& name ) { return isBLOCKAGE(name.c_str()); }
164  inline bool AllianceFramework::isBLOCKAGE ( const Name& name ) { return isBLOCKAGE(getString(name)); }
165  inline bool AllianceFramework::isBLOCKAGE ( const Net* net ) { return isBLOCKAGE(net->getName()); }
166  inline bool AllianceFramework::isPad ( const char* name ) { return _environment.isPad(name); }
167  inline bool AllianceFramework::isPad ( const string& name ) { return isPad(name.c_str()); }
168  inline bool AllianceFramework::isPad ( const Name& name ) { return isPad(getString(name)); }
169  inline bool AllianceFramework::isPad ( const Cell* cell ) { return isPad(cell->getName()); }
170  inline Environment* AllianceFramework::getEnvironment () { return &_environment; }
171  inline Catalog* AllianceFramework::getCatalog () { return &_catalog; }
173  () const { return _parentLibraryName; }
174  inline Library* AllianceFramework::getParentLibrary () { return _parentLibrary; }
175  inline const AllianceLibraries&
176  AllianceFramework::getAllianceLibraries () const { return _libraries; }
177 // TEMPORARY.
179  () const { return "CALU1"; }
180  inline string AllianceFramework::_getTypeName () const { return "AllianceFramework"; }
181 
182 
183  class JsonAllianceFramework : public JsonObject {
184  public:
185  static void initialize ();
186  JsonAllianceFramework( unsigned long );
187  virtual ~JsonAllianceFramework();
188  virtual string getTypeName () const;
189  virtual JsonAllianceFramework* clone ( unsigned long ) const;
190  virtual void toData ( JsonStack& );
191  private:
192  std::string _defaultRoutingGauge;
193  std::string _defaultCellGauge;
194  };
195 
196 
197 } // CRL namespace.
198 
199 
200 INSPECTOR_P_SUPPORT(CRL::AllianceFramework);
201 
202 #endif // CRL_ALLIANCE_FRAMEWORK_H
A small wrapper around Hurricane::Library.
Definition: AllianceLibrary.h:44
-
bool isBLOCKAGE(const char *name) const
-
Library * getParentLibrary()
Definition: AllianceFramework.h:174
-
bool isCLOCK(const char *name) const
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul CHAPUT |
+
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/AllianceFramework.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_ALLIANCE_FRAMEWORK_H
+
18 #define CRL_ALLIANCE_FRAMEWORK_H
+
19 
+
20 #include <map>
+
21 #include <limits>
+
22 #include "hurricane/Cell.h"
+
23 #include "crlcore/Environment.h"
+
24 #include "crlcore/AllianceLibrary.h"
+
25 #include "crlcore/Catalog.h"
+
26 #include "crlcore/ParsersDrivers.h"
+
27 
+
28 
+
29 namespace CRL {
+
30 
+
31  using Hurricane::Observable;
+
32  using Hurricane::BaseObserver;
+ + +
35  using Hurricane::Cell;
+
36  using Hurricane::Net;
+
37  class RoutingGauge;
+
38  class CellGauge;
+
39 
+
40 
+ +
42  public:
+
43  enum FunctionsFlags { NoFlags = 0
+
44  , NoPythonInit = (1<<0)
+
45  };
+ +
47  , IgnoreFeeds = (1<<1)
+
48  };
+
49  enum LibraryFlags { CreateLibrary = (1<<0)
+
50  , AppendLibrary = (1<<1)
+
51  , HasCatalog = (1<<2)
+
52  };
+
53  enum NotifyFlags { AddedLibrary = (1<<0)
+
54  , RemovedLibrary = (1<<1)
+
55  , ConfigChanged = (1<<2)
+
56  };
+
57  public:
+
58  // Constructors.
+
59  static AllianceFramework* create ( unsigned long flags=NoFlags );
+
60  // Destructors.
+
61  void destroy ();
+
62  // Accessors.
+
63  static AllianceFramework* get ();
+
64  string getPrint () const;
+
65  // Predicates.
+
66  Catalog::State* isInCatalog ( const Name& );
+
67  Catalog::State* isInCatalog ( string );
+
68  inline bool isPOWER ( const char* name );
+
69  inline bool isPOWER ( const string& name );
+
70  inline bool isPOWER ( const Name& name );
+
71  inline bool isGROUND ( const char* name );
+
72  inline bool isGROUND ( const string& name );
+
73  inline bool isGROUND ( const Name& name );
+
74  inline bool isCLOCK ( const char* name );
+
75  inline bool isCLOCK ( const string& name );
+
76  inline bool isCLOCK ( const Name& name );
+
77  inline bool isBLOCKAGE ( const char* name );
+
78  inline bool isBLOCKAGE ( const string& name );
+
79  inline bool isBLOCKAGE ( const Name& name );
+
80  inline bool isBLOCKAGE ( const Net* net );
+
81  inline bool isPad ( const char* name );
+
82  inline bool isPad ( const string& name );
+
83  inline bool isPad ( const Name& name );
+
84  inline bool isPad ( const Cell* );
+
85  // Accessors.
+
86  inline Environment* getEnvironment ();
+
87  inline Catalog* getCatalog ();
+
88  inline const Name& getParentLibraryName () const;
+
89  inline Library* getParentLibrary ();
+
90  Library* getLibrary ( unsigned int index );
+
91  Library* getLibrary ( const Name& libName );
+
92  AllianceLibrary* getAllianceLibrary ( unsigned int index );
+
93  AllianceLibrary* getAllianceLibrary ( const Name& libName, unsigned int flags );
+ +
95  AllianceLibrary* createLibrary ( const string& path, unsigned int flags, string libName="" );
+
96  inline const AllianceLibraries& getAllianceLibraries () const;
+
97  void saveLibrary ( Library* );
+
98  void saveLibrary ( AllianceLibrary* );
+
99  RoutingGauge* getRoutingGauge ( const Name& name="" );
+
100  CellGauge* getCellGauge ( const Name& name="" );
+
101  inline const Name getDefaultCGPinLayerName () const;
+
102  // Modifiers.
+
103  RoutingGauge* setRoutingGauge ( const Name& name="" );
+
104  CellGauge* setCellGauge ( const Name& name="" );
+
105  void addRoutingGauge ( RoutingGauge* );
+
106  void addCellGauge ( CellGauge* );
+
107  void addObserver ( BaseObserver* );
+
108  void removeObserver ( BaseObserver* );
+
109  void notify ( unsigned int flags );
+
110  // Cell Management.
+
111  Cell* cellLoader ( const string& rpath );
+
112  Cell* getCell ( const string& name
+
113  , unsigned int mode
+
114  , unsigned int depth=(unsigned int)-1 );
+
115  Cell* createCell ( const string& name, AllianceLibrary* library=NULL );
+
116  void saveCell ( Cell* , unsigned int mode );
+
117  unsigned int loadLibraryCells ( Library* );
+
118  unsigned int loadLibraryCells ( const Name& );
+
119  static size_t getInstancesCount ( Cell*, unsigned int flags );
+
120  // Hurricane Managment.
+
121  void toJson ( JsonWriter* ) const;
+
122  inline string _getTypeName () const;
+
123  string _getString () const;
+
124  Record* _getRecord () const;
+
125 
+
126  // Internals - Attributes.
+
127  protected:
+
128  static const Name _parentLibraryName;
+
129  static AllianceFramework* _singleton;
+
130  Observable _observers;
+
131  Environment _environment;
+
132  ParsersMap _parsers;
+
133  DriversMap _drivers;
+
134  Catalog _catalog;
+
135  AllianceLibraries _libraries;
+
136  Library* _parentLibrary;
+
137  map<Name,RoutingGauge*> _routingGauges;
+
138  RoutingGauge* _defaultRoutingGauge;
+
139  map<Name,CellGauge*> _cellGauges;
+
140  CellGauge* _defaultCellGauge;
+
141 
+
142  // Internals - Constructors.
+ + +
145  AllianceFramework& operator= ( const AllianceFramework& );
+
146  // Internals - Destructors.
+
147  ~AllianceFramework ();
+
148  // Internals - Methods.
+
149  bool _readLocate ( const string& file, unsigned int mode, bool isLib=false );
+
150  bool _writeLocate ( const string& file, unsigned int mode, bool isLib=false );
+
151  AllianceLibrary* _createLibrary ( const string& path, bool& hasCatalog );
+
152  void _bindLibraries ();
+
153  };
+
154 
+
155  inline bool AllianceFramework::isPOWER ( const char* name ) { return _environment.isPOWER(name); }
+
156  inline bool AllianceFramework::isPOWER ( const string& name ) { return isPOWER(name.c_str()); }
+
157  inline bool AllianceFramework::isPOWER ( const Name& name ) { return isPOWER(getString(name)); }
+
158  inline bool AllianceFramework::isGROUND ( const char* name ) { return _environment.isGROUND(name); }
+
159  inline bool AllianceFramework::isGROUND ( const string& name ) { return isGROUND(name.c_str()); }
+
160  inline bool AllianceFramework::isGROUND ( const Name& name ) { return isGROUND(getString(name)); }
+
161  inline bool AllianceFramework::isCLOCK ( const char* name ) { return _environment.isCLOCK(name); }
+
162  inline bool AllianceFramework::isCLOCK ( const string& name ) { return isCLOCK(name.c_str()); }
+
163  inline bool AllianceFramework::isCLOCK ( const Name& name ) { return isCLOCK(getString(name)); }
+
164  inline bool AllianceFramework::isBLOCKAGE ( const char* name ) { return _environment.isBLOCKAGE(name); }
+
165  inline bool AllianceFramework::isBLOCKAGE ( const string& name ) { return isBLOCKAGE(name.c_str()); }
+
166  inline bool AllianceFramework::isBLOCKAGE ( const Name& name ) { return isBLOCKAGE(getString(name)); }
+
167  inline bool AllianceFramework::isBLOCKAGE ( const Net* net ) { return isBLOCKAGE(net->getName()); }
+
168  inline bool AllianceFramework::isPad ( const char* name ) { return _environment.isPad(name); }
+
169  inline bool AllianceFramework::isPad ( const string& name ) { return isPad(name.c_str()); }
+
170  inline bool AllianceFramework::isPad ( const Name& name ) { return isPad(getString(name)); }
+
171  inline bool AllianceFramework::isPad ( const Cell* cell ) { return isPad(cell->getName()); }
+
172  inline Environment* AllianceFramework::getEnvironment () { return &_environment; }
+
173  inline Catalog* AllianceFramework::getCatalog () { return &_catalog; }
+ +
175  () const { return _parentLibraryName; }
+
176  inline Library* AllianceFramework::getParentLibrary () { return _parentLibrary; }
+
177  inline const AllianceLibraries&
+
178  AllianceFramework::getAllianceLibraries () const { return _libraries; }
+
179 // TEMPORARY.
+ +
181  () const { return "CALU1"; }
+
182  inline string AllianceFramework::_getTypeName () const { return "AllianceFramework"; }
+
183 
+
184 
+
185  class JsonAllianceFramework : public JsonObject {
+
186  public:
+
187  static void initialize ();
+
188  JsonAllianceFramework( unsigned long );
+
189  virtual ~JsonAllianceFramework();
+
190  virtual string getTypeName () const;
+
191  virtual JsonAllianceFramework* clone ( unsigned long ) const;
+
192  virtual void toData ( JsonStack& );
+
193  private:
+
194  std::string _defaultRoutingGauge;
+
195  std::string _defaultCellGauge;
+
196  };
+
197 
+
198 
+
199 } // CRL namespace.
+
200 
+
201 
+
202 INSPECTOR_P_SUPPORT(CRL::AllianceFramework);
+
203 
+
204 #endif // CRL_ALLIANCE_FRAMEWORK_H
+
A small wrapper around Hurricane::Library.
Definition: AllianceLibrary.h:44
+
bool isPOWER(const char *name) const
+
Library * getParentLibrary()
Definition: AllianceFramework.h:176
+
An entry to store the Cell State in the Catalog.
Definition: Catalog.h:76
A Framework to work with Alliance formats.
Definition: AllianceFramework.h:41
-
const Name getDefaultCGPinLayerName() const
Definition: AllianceFramework.h:179
-
bool isPOWER(const char *name) const
void addCellGauge(CellGauge *)
+
const Name & getParentLibraryName() const
Definition: AllianceFramework.h:175
InstancesCountFlags
Definition: AllianceFramework.h:46
- +
bool isBLOCKAGE(const char *name) const
static size_t getInstancesCount(Cell *, unsigned int flags)
void saveCell(Cell *, unsigned int mode)
Gauge for the detailed routing.
Definition: RoutingGauge.h:48
AllianceLibrary * createLibrary(const string &path, unsigned int flags, string libName="")
LibraryFlags
Definition: AllianceFramework.h:49
-
bool isPad(const char *name) const
-
const Name & getName() const
+
bool isCLOCK(const char *name) const
-
bool isGROUND(const char *name) const
+
bool isGROUND(const char *name) const
+
const Name getDefaultCGPinLayerName() const
Definition: AllianceFramework.h:181
Definition: AllianceFramework.h:46
Library * getLibrary(unsigned int index)
-
const Name & getParentLibraryName() const
Definition: AllianceFramework.h:173
+
Cell * getCell(const string &name, unsigned int mode, unsigned int depth=(unsigned int)-1)
void addRoutingGauge(RoutingGauge *)
+
bool isPad(const char *name) const
Definition: AllianceFramework.h:49
+
string getPrint() const
unsigned int loadLibraryCells(Library *)
Cell * createCell(const string &name, AllianceLibrary *library=NULL)
-
Catalog * getCatalog()
Definition: AllianceFramework.h:171
+
Catalog * getCatalog()
Definition: AllianceFramework.h:173
Definition: AllianceFramework.h:47
RoutingGauge * getRoutingGauge(const Name &name="")
@@ -82,19 +293,15 @@ $(function() {
Definition: AllianceFramework.h:51
Holds all the Alliance environment variables.
Definition: Environment.h:35
-
Environment * getEnvironment()
Definition: AllianceFramework.h:170
-
string getPrint() const
-
const Name & getName() const
+
Environment * getEnvironment()
Definition: AllianceFramework.h:172
void saveLibrary(Library *)
-
Cell * getCell(const string &name, unsigned int mode, unsigned int depth=(unsigned int) -1)
static AllianceFramework * create(unsigned long flags=NoFlags)
-
The namespace of Coriolis Core.
Definition: Environment.h:26


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html b/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html index e018ff4f..c6dc3fc4 100644 --- a/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html +++ b/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/AllianceLibrary.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ALLIANCE_LIBRARY_H
18 #define CRL_ALLIANCE_LIBRARY_H
19 
20 #include <string>
21 #include <vector>
22 #include "hurricane/Name.h"
23 #include "hurricane/Slot.h"
24 
25 namespace Hurricane {
26  class Library;
27 }
28 
29 
30 namespace CRL {
31 
32  using std::vector;
35  using Hurricane::Name;
36  using Hurricane::Library;
37  using Hurricane::Record;
38  using Hurricane::_TName;
39 
40 
41 // -------------------------------------------------------------------
42 // Class : "CRL::AllianceLibrary".
43 
45 
46  public:
47  // Constructors.
48  AllianceLibrary ();
49  AllianceLibrary ( const Name& path, Library* library=NULL );
50  // Operators
51  AllianceLibrary& operator= ( const AllianceLibrary& directory );
52  AllianceLibrary& operator= ( const std::string& path );
53  // Accessors
54  inline const Name& getPath () const;
55  inline Library* getLibrary () const;
56  // Hurricane management.
57  void toJson ( JsonWriter* ) const;
58  inline std::string _getTypeName () const;
59  std::string _getString () const;
60  Record* _getRecord () const;
61 
62  protected:
63  // Internal - Attributes.
64  Name _path;
65  Library* _library;
66 
67  };
68 
69 
70  typedef vector<AllianceLibrary*> AllianceLibraries;
71 
72 
73 // Inline Functions.
74  inline const Name& AllianceLibrary::getPath () const { return _path; }
75  inline Library* AllianceLibrary::getLibrary () const { return _library; }
76  inline std::string AllianceLibrary::_getTypeName () const { return _TName("AllianceLibrary"); }
77 
78 
79 // -------------------------------------------------------------------
80 // Class : "JsonAllianceLibrary".
81 
82  class JsonAllianceLibrary : public JsonObject {
83  public:
84  static void initialize ();
85  JsonAllianceLibrary ( unsigned long flags );
86  virtual std::string getTypeName () const;
87  virtual JsonAllianceLibrary* clone ( unsigned long flags ) const;
88  virtual void toData ( JsonStack& );
89  };
90 
91 
92 } // CRL namespace.
93 
94 
95 INSPECTOR_P_SUPPORT(CRL::AllianceLibrary);
96 
97 #endif // CRL_ALLIANCE_LIBRARY_H
A small wrapper around Hurricane::Library.
Definition: AllianceLibrary.h:44
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul CHAPUT |
+
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/AllianceLibrary.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_ALLIANCE_LIBRARY_H
+
18 #define CRL_ALLIANCE_LIBRARY_H
+
19 
+
20 #include <string>
+
21 #include <vector>
+
22 #include "hurricane/Name.h"
+
23 #include "hurricane/Slot.h"
+
24 
+
25 namespace Hurricane {
+
26  class Library;
+
27 }
+
28 
+
29 
+
30 namespace CRL {
+
31 
+
32  using std::vector;
+ + +
35  using Hurricane::Name;
+
36  using Hurricane::Library;
+
37  using Hurricane::Record;
+
38  using Hurricane::_TName;
+
39 
+
40 
+
41 // -------------------------------------------------------------------
+
42 // Class : "CRL::AllianceLibrary".
+
43 
+ +
45 
+
46  public:
+
47  // Constructors.
+
48  AllianceLibrary ();
+
49  AllianceLibrary ( const Name& path, Library* library=NULL );
+
50  // Operators
+
51  AllianceLibrary& operator= ( const AllianceLibrary& directory );
+
52  AllianceLibrary& operator= ( const std::string& path );
+
53  // Accessors
+
54  inline const Name& getPath () const;
+
55  inline Library* getLibrary () const;
+
56  // Hurricane management.
+
57  void toJson ( JsonWriter* ) const;
+
58  inline std::string _getTypeName () const;
+
59  std::string _getString () const;
+
60  Record* _getRecord () const;
+
61 
+
62  protected:
+
63  // Internal - Attributes.
+
64  Name _path;
+
65  Library* _library;
+
66 
+
67  };
+
68 
+
69 
+
70  typedef vector<AllianceLibrary*> AllianceLibraries;
+
71 
+
72 
+
73 // Inline Functions.
+
74  inline const Name& AllianceLibrary::getPath () const { return _path; }
+
75  inline Library* AllianceLibrary::getLibrary () const { return _library; }
+
76  inline std::string AllianceLibrary::_getTypeName () const { return _TName("AllianceLibrary"); }
+
77 
+
78 
+
79 // -------------------------------------------------------------------
+
80 // Class : "JsonAllianceLibrary".
+
81 
+
82  class JsonAllianceLibrary : public JsonObject {
+
83  public:
+
84  static void initialize ();
+
85  JsonAllianceLibrary ( unsigned long flags );
+
86  virtual std::string getTypeName () const;
+
87  virtual JsonAllianceLibrary* clone ( unsigned long flags ) const;
+
88  virtual void toData ( JsonStack& );
+
89  };
+
90 
+
91 
+
92 } // CRL namespace.
+
93 
+
94 
+
95 INSPECTOR_P_SUPPORT(CRL::AllianceLibrary);
+
96 
+
97 #endif // CRL_ALLIANCE_LIBRARY_H
+
A small wrapper around Hurricane::Library.
Definition: AllianceLibrary.h:44
+
Library * getLibrary() const
Definition: AllianceLibrary.h:75
+
const Name & getPath() const
Definition: AllianceLibrary.h:74
- -
The namespace of Coriolis Core.
Definition: Environment.h:26
+


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/Banner_8h_source.html b/crlcore/doc/crlcore/html/Banner_8h_source.html index ed7415c6..7caa8beb 100644 --- a/crlcore/doc/crlcore/html/Banner_8h_source.html +++ b/crlcore/doc/crlcore/html/Banner_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/Banner.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_BANNER_H
18 #define CRL_BANNER_H
19 
20 #include <map>
21 #include <string>
22 #include <vector>
23 #include <ostream>
24 #include <sstream>
25 
26 #ifdef __CCORE_INTERNAL__
27 # include "hurricane/CConfig.h"
28 #endif
29 #include "crlcore/Utilities.h"
30 
31 
32 namespace CRL {
33 
34  using std::string;
35  using std::map;
36  using std::vector;
37  using std::ostream;
38  using std::ostringstream;
39 
40 
41 // -------------------------------------------------------------------
42 // Class : "CRL::BannerFont".
43 
44 
45  class BannerFont {
46 
47  public:
48  // BigChar subclass.
49  class BigChar {
50  public:
51  // Constructor & Destructor.
52  BigChar ( char c, int height, const char* lines[], const BannerFont* font );
53  ~BigChar ();
54  // Methods.
55  inline int getHeight () const;
56  inline const BannerFont* getFont () const;
57  string _getPrint () const;
58  const char* operator[] ( int line ) const;
59 
60  private:
61  // Internal: Attributes.
62  char _character;
63  int _height;
64  const char** _lines;
65  const BannerFont* _font;
66 
67  // Internal: Constructors.
68  BigChar& operator= ( const BigChar& );
69  BigChar ( const BigChar& );
70  };
71 
72  // Static Methods.
73  static const BannerFont* getBannerFont ( const string& name );
74  // Constructor & Destructor.
75  inline BannerFont ( const string& name );
76  // Methods.
77  inline void addChar ( char character, int height, const char *lines[] );
78  inline int getHeight () const;
79  inline const BigChar& operator[] ( char character ) const;
80 
81  private:
82  // Internal: FontMap subclass.
83  class FontMap : public map<const string,const BannerFont*> {
84  public:
85  FontMap ();
86  ~FontMap ();
87  const BannerFont* operator[] ( const string& name ) const;
88  };
89 
90  // Internal: Types.
91  typedef map<char,BigChar*> CharMap;
92 
93  // Internal: Static Attributes.
94  static FontMap _fontMap;
95  // Internal: Attributes.
96  CharMap _table;
97  string _name;
98  int _height;
99 
100  // Internal: Constructors.
101  BannerFont ( const BannerFont& );
102  ~BannerFont ();
103  inline BannerFont& operator= ( const BannerFont& );
104 
105  };
106 
107 
108 
109 
110 // -------------------------------------------------------------------
111 // Class : "CRL::Banner".
112 
113 
114  class Banner {
115  public:
116  // Constructor & Destructor.
117  Banner ( string name=""
118  , string version=""
119  , string purpose=""
120  , string date=""
121  , string authors=""
122  , string contributors="" );
123  virtual ~Banner ();
124  // Accessors.
125  inline const BannerFont* getFont () const;
126  inline const string& getName () const;
127  inline const string& getVersion () const;
128  inline const string& getPurpose () const;
129  inline const string& getDate () const;
130  inline const string& getAuthors () const;
131  inline const string& getContributors () const;
132  inline unsigned int getScreenWidth () const;
133  // Modifiers.
134  void setFont ( BannerFont* font );
135  void setName ( string name );
136  void setVersion ( string version );
137  void setPurpose ( string purpose );
138  void setDate ( string date );
139  void setAuthors ( string authors );
140  void setContributors ( string contributors );
141  void setScreenWidth ( unsigned screenWidth );
142  // Hurricane Management.
143  virtual const string _getPrint () const { return ( _banner.str() ); };
144 
145  // Internal: Attributes.
146  private:
147  string _name;
148  string _version;
149  string _purpose;
150  string _date;
151  string _authors;
152  string _contributors;
153  unsigned int _screenWidth;
154  size_t _cartoucheWidth;
155  const BannerFont* _font;
156  string* _lines;
157  ostringstream _banner;
158 
159  // Internal: Constructors.
160  Banner ( const Banner & );
161  Banner& operator= ( const Banner & );
162  // Internal: Methods.
163  void _redraw ();
164  };
165 
166 
167 // Inline Functions.
168  inline int BannerFont::BigChar::getHeight () const { return _height; }
169  inline const BannerFont* BannerFont::BigChar::getFont () const { return _font; }
170  inline BannerFont::BannerFont ( const string& name ): _table(), _name(name) {}
171  inline int BannerFont::getHeight () const { return _height; }
172  inline const BannerFont* Banner::getFont () const { return _font; }
173  inline const string& Banner::getName () const { return _name; }
174  inline const string& Banner::getVersion () const { return _version; }
175  inline const string& Banner::getPurpose () const { return _purpose; }
176  inline const string& Banner::getDate () const { return _date; }
177  inline const string& Banner::getAuthors () const { return _authors; }
178  inline const string& Banner::getContributors () const { return _contributors; }
179  inline unsigned int Banner::getScreenWidth () const { return _screenWidth; }
180 
181 
182 } // CRL namespace.
183 
184 
185 // Hurricane Management.
186 
187 inline std::string getPrint ( const CRL::BannerFont::BigChar& c ) { return c._getPrint(); }
188 inline std::string getPrint ( const CRL::Banner& b ) { return b._getPrint(); }
189 inline std::ostream& operator<< ( std::ostream& o, const CRL::BannerFont::BigChar& c ) { return o << getPrint(c); }
190 inline std::ostream& operator<< ( std::ostream& o, const CRL::Banner& b ) { return o << getPrint(b); }
191 
192 MSTREAM_R_SUPPORT(CRL::Banner);
193 
194 
195 #endif // CRL_BANNER_H
unsigned int getScreenWidth() const
Definition: Banner.h:179
-
const string & getDate() const
Definition: Banner.h:176
-
const string & getPurpose() const
Definition: Banner.h:175
-
const string & getVersion() const
Definition: Banner.h:174
-
const string & getContributors() const
Definition: Banner.h:178
-
const string & getAuthors() const
Definition: Banner.h:177
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul CHAPUT |
+
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/Banner.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_BANNER_H
+
18 #define CRL_BANNER_H
+
19 
+
20 #include <map>
+
21 #include <string>
+
22 #include <vector>
+
23 #include <ostream>
+
24 #include <sstream>
+
25 
+
26 #ifdef __CCORE_INTERNAL__
+
27 # include "hurricane/CConfig.h"
+
28 #endif
+
29 #include "crlcore/Utilities.h"
+
30 
+
31 
+
32 namespace CRL {
+
33 
+
34  using std::string;
+
35  using std::map;
+
36  using std::vector;
+
37  using std::ostream;
+
38  using std::ostringstream;
+
39 
+
40 
+
41 // -------------------------------------------------------------------
+
42 // Class : "CRL::BannerFont".
+
43 
+
44 
+
45  class BannerFont {
+
46 
+
47  public:
+
48  // BigChar subclass.
+
49  class BigChar {
+
50  public:
+
51  // Constructor & Destructor.
+
52  BigChar ( char c, int height, const char* lines[], const BannerFont* font );
+
53  ~BigChar ();
+
54  // Methods.
+
55  inline int getHeight () const;
+
56  inline const BannerFont* getFont () const;
+
57  string _getPrint () const;
+
58  const char* operator[] ( int line ) const;
+
59 
+
60  private:
+
61  // Internal: Attributes.
+
62  char _character;
+
63  int _height;
+
64  const char** _lines;
+
65  const BannerFont* _font;
+
66 
+
67  // Internal: Constructors.
+
68  BigChar& operator= ( const BigChar& );
+
69  BigChar ( const BigChar& );
+
70  };
+
71 
+
72  // Static Methods.
+
73  static const BannerFont* getBannerFont ( const string& name );
+
74  // Constructor & Destructor.
+
75  inline BannerFont ( const string& name );
+
76  // Methods.
+
77  inline void addChar ( char character, int height, const char *lines[] );
+
78  inline int getHeight () const;
+
79  inline const BigChar& operator[] ( char character ) const;
+
80 
+
81  private:
+
82  // Internal: FontMap subclass.
+
83  class FontMap : public map<const string,const BannerFont*> {
+
84  public:
+
85  FontMap ();
+
86  ~FontMap ();
+
87  const BannerFont* operator[] ( const string& name ) const;
+
88  };
+
89 
+
90  // Internal: Types.
+
91  typedef map<char,BigChar*> CharMap;
+
92 
+
93  // Internal: Static Attributes.
+
94  static FontMap _fontMap;
+
95  // Internal: Attributes.
+
96  CharMap _table;
+
97  string _name;
+
98  int _height;
+
99 
+
100  // Internal: Constructors.
+
101  BannerFont ( const BannerFont& );
+
102  ~BannerFont ();
+
103  inline BannerFont& operator= ( const BannerFont& );
+
104 
+
105  };
+
106 
+
107 
+
108 
+
109 
+
110 // -------------------------------------------------------------------
+
111 // Class : "CRL::Banner".
+
112 
+
113 
+
114  class Banner {
+
115  public:
+
116  // Constructor & Destructor.
+
117  Banner ( string name=""
+
118  , string version=""
+
119  , string purpose=""
+
120  , string date=""
+
121  , string authors=""
+
122  , string contributors="" );
+
123  virtual ~Banner ();
+
124  // Accessors.
+
125  inline const BannerFont* getFont () const;
+
126  inline const string& getName () const;
+
127  inline const string& getVersion () const;
+
128  inline const string& getPurpose () const;
+
129  inline const string& getDate () const;
+
130  inline const string& getAuthors () const;
+
131  inline const string& getContributors () const;
+
132  inline unsigned int getScreenWidth () const;
+
133  // Modifiers.
+
134  void setFont ( BannerFont* font );
+
135  void setName ( string name );
+
136  void setVersion ( string version );
+
137  void setPurpose ( string purpose );
+
138  void setDate ( string date );
+
139  void setAuthors ( string authors );
+
140  void setContributors ( string contributors );
+
141  void setScreenWidth ( unsigned screenWidth );
+
142  // Hurricane Management.
+
143  virtual const string _getPrint () const { return ( _banner.str() ); };
+
144 
+
145  // Internal: Attributes.
+
146  private:
+
147  string _name;
+
148  string _version;
+
149  string _purpose;
+
150  string _date;
+
151  string _authors;
+
152  string _contributors;
+
153  unsigned int _screenWidth;
+
154  size_t _cartoucheWidth;
+
155  const BannerFont* _font;
+
156  string* _lines;
+
157  ostringstream _banner;
+
158 
+
159  // Internal: Constructors.
+
160  Banner ( const Banner & );
+
161  Banner& operator= ( const Banner & );
+
162  // Internal: Methods.
+
163  void _redraw ();
+
164  };
+
165 
+
166 
+
167 // Inline Functions.
+
168  inline int BannerFont::BigChar::getHeight () const { return _height; }
+
169  inline const BannerFont* BannerFont::BigChar::getFont () const { return _font; }
+
170  inline BannerFont::BannerFont ( const string& name ): _table(), _name(name) {}
+
171  inline int BannerFont::getHeight () const { return _height; }
+
172  inline const BannerFont* Banner::getFont () const { return _font; }
+
173  inline const string& Banner::getName () const { return _name; }
+
174  inline const string& Banner::getVersion () const { return _version; }
+
175  inline const string& Banner::getPurpose () const { return _purpose; }
+
176  inline const string& Banner::getDate () const { return _date; }
+
177  inline const string& Banner::getAuthors () const { return _authors; }
+
178  inline const string& Banner::getContributors () const { return _contributors; }
+
179  inline unsigned int Banner::getScreenWidth () const { return _screenWidth; }
+
180 
+
181 
+
182 } // CRL namespace.
+
183 
+
184 
+
185 // Hurricane Management.
+
186 
+
187 inline std::string getPrint ( const CRL::BannerFont::BigChar& c ) { return c._getPrint(); }
+
188 inline std::string getPrint ( const CRL::Banner& b ) { return b._getPrint(); }
+
189 inline std::ostream& operator<< ( std::ostream& o, const CRL::BannerFont::BigChar& c ) { return o << getPrint(c); }
+
190 inline std::ostream& operator<< ( std::ostream& o, const CRL::Banner& b ) { return o << getPrint(b); }
+
191 
+
192 MSTREAM_R_SUPPORT(CRL::Banner);
+
193 
+
194 
+
195 #endif // CRL_BANNER_H
+
const string & getPurpose() const
Definition: Banner.h:175
+
void setScreenWidth(unsigned screenWidth)
+
const string & getDate() const
Definition: Banner.h:176
+
const string & getContributors() const
Definition: Banner.h:178
+
void setVersion(string version)
+
const string & getName() const
Definition: Banner.h:173
+
void setAuthors(string authors)
+
void setDate(string date)
+
Banner(string name="", string version="", string purpose="", string date="", string authors="", string contributors="")
+
void setContributors(string contributors)
+
const string & getVersion() const
Definition: Banner.h:174
+
void setName(string name)
+
const string & getAuthors() const
Definition: Banner.h:177
+
unsigned int getScreenWidth() const
Definition: Banner.h:179
Print Formatted Banners (on ttys).
Definition: Banner.h:114
-
const string & getName() const
Definition: Banner.h:173
-
The namespace of Coriolis Core.
Definition: Environment.h:26
+
void setPurpose(string purpose)


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/Catalog_8h_source.html b/crlcore/doc/crlcore/html/Catalog_8h_source.html index bcb145db..6916e19b 100644 --- a/crlcore/doc/crlcore/html/Catalog_8h_source.html +++ b/crlcore/doc/crlcore/html/Catalog_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/Catalog.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_CATALOG_H
18 #define CRL_CATALOG_H
19 
20 #include <string>
21 #include <map>
22 #include "hurricane/Name.h"
23 #include "hurricane/Property.h"
24 #include "hurricane/Slot.h"
25 
26 namespace Hurricane {
27  class Cell;
28  class Library;
29 }
30 
31 
32 namespace CRL {
33 
34 
35  using std::string;
36  using std::map;
39  using Hurricane::_TName;
40  using Hurricane::Name;
41  using Hurricane::Record;
43  using Hurricane::DBo;
44  using Hurricane::Cell;
45  using Hurricane::Library;
46  using Hurricane::Property;
47 
48 
49  extern const char* MissingStateProperty;
50 
51 
52 // -------------------------------------------------------------------
53 // Class : "CRL::Catalog".
54 
55 
56  class Catalog {
57 
58  public:
59  class State;
60  public:
61  inline Catalog ();
62  ~Catalog ();
63  State* getState ( const Name& name, bool add=false );
64  void mergeState ( const Name& name, const State& other );
65  bool deleteState ( const Name& name );
66  void clear ();
67  bool loadFromFile ( const string& path, Library* library );
68  inline map<Name,State*>* getStates ();
69  string _getPrint () const;
70  inline string _getTypeName () const;
71  string _getString () const;
72  Record* _getRecord () const;
73 
74  public:
75  // Sub-Class: State.
76  class State {
77  public:
78  // Flags Constants.
79  enum Flags { FlattenLeaf = 1 << 0
80  , Feed = 1 << 1
81  , Pad = 1 << 2
82  , GDS = 1 << 3
83  , Delete = 1 << 4
84  , Logical = 1 << 5
85  , Physical = 1 << 6
86  , InMemory = 1 << 7
87  , Foreign = 1 << 8
88  , Views = Physical|Logical
89  };
90  // Constructors.
91  inline State ();
92  ~State ();
93  // Predicates.
94  inline bool isFlattenLeaf () const;
95  inline bool isFeed () const;
96  inline bool isPad () const;
97  inline bool isGds () const;
98  inline bool isDelete () const;
99  inline bool isPhysical () const;
100  inline bool isLogical () const;
101  inline bool isInMemory () const;
102  // Flags management.
103  inline unsigned int getFlags ( unsigned int mask=(unsigned int)-1 ) const;
104  inline bool setFlags ( unsigned int mask, bool value );
105  inline bool setFlattenLeaf ( bool value );
106  inline bool setFeed ( bool value );
107  inline bool setPad ( bool value );
108  inline bool setGds ( bool value );
109  inline bool setDelete ( bool value );
110  inline bool setPhysical ( bool value );
111  inline bool setLogical ( bool value );
112  inline bool setInMemory ( bool value );
113  // Accessors.
114  inline Cell* getCell () const;
115  inline Library* getLibrary () const;
116  inline unsigned int getDepth () const;
117  // Modifiers.
118  inline void merge ( const State& other );
119  Cell* setCell ( Cell* cell );
120  inline Library* setLibrary ( Library* library );
121  inline void setDepth ( unsigned int depth );
122  // Hurricane Management.
123  void toJson ( JsonWriter* w ) const;
124  inline string _getTypeName () const;
125  string _getString () const;
126  Record* _getRecord () const;
127 
128  private:
129  // Internal - Attributes.
130  unsigned int _flags;
131  unsigned int _depth;
132  Cell* _cell;
133  Library* _library;
134 
135  // Json Property.
136  public:
137  class JsonState : public JsonObject {
138  public:
139  static void initialize ();
140  JsonState ( unsigned long flags );
141  virtual string getTypeName () const;
142  virtual JsonState* clone ( unsigned long ) const;
143  virtual void toData ( JsonStack& );
144  };
145  };
146 
147  private:
148  // Attributes.
149  map<Name,State*> _states;
150 
151  private:
152  Catalog ( const Catalog& );
153  static bool readLine ( const string& s, string& name, State* state );
154 
155  };
156 
157 
158 // -------------------------------------------------------------------
159 // Class : "CRL::CatalogProperty".
160 
161  class CatalogProperty : public PrivateProperty {
162 
163  public:
164  static Name _name;
165  public:
166  static CatalogProperty* create ( Catalog::State* state );
167  static Name getPropertyName ();
168  virtual Name getName () const;
169  inline Catalog::State* getState () const;
170  inline void setState ( Catalog::State* state );
171  virtual void onReleasedBy ( DBo* owner );
172  virtual bool hasJson () const;
173  virtual void toJson ( JsonWriter* w, const DBo* ) const;
174  virtual string _getTypeName () const;
175  virtual string _getString () const;
176  virtual Record* _getRecord () const;
177 
178  protected:
179  // Attributes.
180  Catalog::State* _state;
181 
182  protected:
183  // Constructor.
184  inline CatalogProperty ( Catalog::State* state );
185  };
186 
187 
188 // -------------------------------------------------------------------
189 // Class : "CRL::JsonCatalogProperty".
190 
191  class JsonCatalogProperty : public JsonObject {
192  public:
193  static void initialize ();
194  JsonCatalogProperty ( unsigned long );
195  virtual string getTypeName () const;
196  virtual JsonCatalogProperty* clone ( unsigned long ) const;
197  virtual void toData ( JsonStack& );
198  };
199 
200 
201 // -------------------------------------------------------------------
202 // Inline Functions.
203 
204  inline Catalog::State::State () : _flags(0), _depth(1), _cell(NULL), _library(NULL) { }
205  inline bool Catalog::State::isFlattenLeaf () const { return (_flags&FlattenLeaf)?1:0; }
206  inline bool Catalog::State::isFeed () const { return (_flags&Feed )?1:0; }
207  inline bool Catalog::State::isPad () const { return (_flags&Pad )?1:0; }
208  inline bool Catalog::State::isGds () const { return (_flags&GDS )?1:0; }
209  inline bool Catalog::State::isDelete () const { return (_flags&Delete )?1:0; }
210  inline bool Catalog::State::isPhysical () const { return (_flags&Physical )?1:0; }
211  inline bool Catalog::State::isLogical () const { return (_flags&Logical )?1:0; }
212  inline bool Catalog::State::isInMemory () const { return (_flags&InMemory )?1:0; }
213  inline unsigned int Catalog::State::getFlags ( unsigned int mask ) const { return ( _flags & mask ); }
214  inline bool Catalog::State::setFlags ( unsigned int mask, bool value ) {
215  if (value) { _flags |= mask; }
216  else { _flags &= ~mask; }
217  return ((_flags&mask) ? true : false);
218  }
219  inline bool Catalog::State::setFlattenLeaf ( bool value ) { return setFlags(FlattenLeaf,value); }
220  inline bool Catalog::State::setFeed ( bool value ) { return setFlags(Feed ,value); }
221  inline bool Catalog::State::setPad ( bool value ) { return setFlags(Pad ,value); }
222  inline bool Catalog::State::setGds ( bool value ) { return setFlags(GDS ,value); }
223  inline bool Catalog::State::setDelete ( bool value ) { return setFlags(Delete ,value); }
224  inline bool Catalog::State::setPhysical ( bool value ) { return setFlags(Physical ,value); }
225  inline bool Catalog::State::setLogical ( bool value ) { return setFlags(Logical ,value); }
226  inline bool Catalog::State::setInMemory ( bool value ) { return setFlags(InMemory ,value); }
227  inline Library* Catalog::State::setLibrary ( Library* library ) { return _library = library; }
228  inline void Catalog::State::setDepth ( unsigned int depth ) { _depth = depth; }
229  inline Cell* Catalog::State::getCell () const { return _cell; }
230  inline Library* Catalog::State::getLibrary () const { return _library; }
231  inline unsigned int Catalog::State::getDepth () const { return _depth; }
232  inline string Catalog::State::_getTypeName () const { return _TName("Catalog::State"); }
233 
234  inline Catalog::Catalog () : _states() {}
235  inline map<Name,Catalog::State*>*
236  Catalog::getStates () { return &_states; }
237  inline string Catalog::_getTypeName () const { return _TName("Catalog"); }
238 
239  inline CatalogProperty::CatalogProperty ( Catalog::State* state ) : PrivateProperty(), _state(state) {}
240  inline Catalog::State* CatalogProperty::getState () const { return _state; }
241  inline void CatalogProperty::setState ( Catalog::State* state ) { _state = state; }
242 
243 
244 // -------------------------------------------------------------------
245 // Class : "CRL::CatalogExtension".
246 
247 
249  public:
250  static Catalog::State* get ( const Cell* );
251  public:
252  static inline bool isFlattenLeaf ( const Cell* );
253  static inline bool isFeed ( const Cell* );
254  static inline bool isPad ( const Cell* );
255  static inline bool isGds ( const Cell* );
256  static inline bool isDelete ( const Cell* );
257  static inline bool isPhysical ( const Cell* );
258  static inline bool isLogical ( const Cell* );
259  // Flags management.
260  static inline unsigned int getFlags ( const Cell*, unsigned int mask=(unsigned int)-1 );
261  static inline bool setFlags ( const Cell*, unsigned int mask, bool value );
262  static inline bool setFlattenLeaf ( const Cell*, bool value );
263  static inline bool setFeed ( const Cell*, bool value );
264  static inline bool setPad ( const Cell*, bool value );
265  static inline bool setGds ( const Cell*, bool value );
266  static inline bool setDelete ( const Cell*, bool value );
267  static inline bool setPhysical ( const Cell*, bool value );
268  static inline bool setLogical ( const Cell*, bool value );
269  // Accessors.
270  static inline Library* getLibrary ( const Cell* );
271  static inline unsigned int getDepth ( const Cell* );
272  // Modifiers.
273  static inline Library* setLibrary ( const Cell*, Library* library );
274  static inline void setDepth ( const Cell*, unsigned int depth );
275  private:
276  static const Cell* _owner;
277  static Catalog::State* _cache;
278  };
279 
280 
281  inline bool CatalogExtension::isFlattenLeaf ( const Cell* cell )
282  {
283  Catalog::State* state = get(cell);
284  return (state == NULL) ? false : state->isFlattenLeaf();
285  }
286 
287 
288  inline bool CatalogExtension::isFeed ( const Cell* cell )
289  {
290  Catalog::State* state = get(cell);
291  return (state == NULL) ? false : state->isFeed();
292  }
293 
294 
295  inline bool CatalogExtension::isGds ( const Cell* cell )
296  {
297  Catalog::State* state = get(cell);
298  return (state == NULL) ? false : state->isGds();
299  }
300 
301 
302  inline bool CatalogExtension::isPad ( const Cell* cell )
303  {
304  Catalog::State* state = get(cell);
305  return (state == NULL) ? false : state->isPad();
306  }
307 
308 
309  inline bool CatalogExtension::isDelete ( const Cell* cell )
310  {
311  Catalog::State* state = get(cell);
312  return (state == NULL) ? false : state->isDelete();
313  }
314 
315 
316  inline bool CatalogExtension::isPhysical ( const Cell* cell )
317  {
318  Catalog::State* state = get(cell);
319  return (state == NULL) ? false : state->isPhysical();
320  }
321 
322 
323  inline bool CatalogExtension::isLogical ( const Cell* cell )
324  {
325  Catalog::State* state = get(cell);
326  return (state == NULL) ? false : state->isLogical();
327  }
328 
329 
330  inline unsigned int CatalogExtension::getFlags ( const Cell* cell, unsigned int mask )
331  {
332  Catalog::State* state = get(cell);
333  return (state == NULL) ? 0 : state->getFlags();
334  }
335 
336 
337  inline bool CatalogExtension::setFlags ( const Cell* cell, unsigned int mask, bool value )
338  {
339  Catalog::State* state = get(cell);
340  return (state == NULL) ? false : state->setFlags(mask,value);
341  }
342 
343 
344  inline bool CatalogExtension::setFlattenLeaf ( const Cell* cell, bool value )
345  {
346  Catalog::State* state = get(cell);
347  return (state == NULL) ? false : state->setFlattenLeaf(value);
348  }
349 
350 
351  inline bool CatalogExtension::setFeed ( const Cell* cell, bool value )
352  {
353  Catalog::State* state = get(cell);
354  return (state == NULL) ? false : state->setFeed(value);
355  }
356 
357 
358  inline bool CatalogExtension::setPad ( const Cell* cell, bool value )
359  {
360  Catalog::State* state = get(cell);
361  return (state == NULL) ? false : state->setPad(value);
362  }
363 
364 
365  inline bool CatalogExtension::setGds ( const Cell* cell, bool value )
366  {
367  Catalog::State* state = get(cell);
368  return (state == NULL) ? false : state->setGds(value);
369  }
370 
371 
372  inline bool CatalogExtension::setDelete ( const Cell* cell, bool value )
373  {
374  Catalog::State* state = get(cell);
375  return (state == NULL) ? false : state->setDelete(value);
376  }
377 
378 
379  inline bool CatalogExtension::setPhysical ( const Cell* cell, bool value )
380  {
381  Catalog::State* state = get(cell);
382  return (state == NULL) ? false : state->setPhysical(value);
383  }
384 
385 
386  inline bool CatalogExtension::setLogical ( const Cell* cell, bool value )
387  {
388  Catalog::State* state = get(cell);
389  return (state == NULL) ? false : state->setLogical(value);
390  }
391 
392 
393  inline Library* CatalogExtension::getLibrary ( const Cell* cell )
394  {
395  Catalog::State* state = get(cell);
396  return (state == NULL) ? NULL : state->getLibrary();
397  }
398 
399 
400  inline unsigned int CatalogExtension::getDepth ( const Cell* cell )
401  {
402  Catalog::State* state = get(cell);
403  return (state == NULL) ? 0 : state->getDepth();
404  }
405 
406 
407  inline Library* CatalogExtension::setLibrary ( const Cell* cell, Library* library )
408  {
409  Catalog::State* state = get(cell);
410  return (state == NULL) ? NULL : state->setLibrary(library);
411  }
412 
413 
414  inline void CatalogExtension::setDepth ( const Cell* cell, unsigned int depth )
415  {
416  Catalog::State* state = get(cell);
417  if ( state == NULL ) state->setDepth(depth);
418  }
419 
420 
421 } // End of CRL namespace.
422 
423 
424 
425 
426 // x-----------------------------------------------------------------x
427 // | Functions Overload for Hurricane Management |
428 // x-----------------------------------------------------------------x
429 
430 
431 inline std::string getPrint ( const CRL::Catalog &CATAL ) { return CATAL._getPrint(); }
432 
433 INSPECTOR_P_SUPPORT(CRL::Catalog);
434 INSPECTOR_P_SUPPORT(CRL::Catalog::State);
435 
436 
437 #endif // CRL_CATALOG_H
unsigned int getFlags(unsigned int mask=(unsigned int) -1) const
Definition: Catalog.h:213
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul CHAPUT |
+
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/Catalog.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_CATALOG_H
+
18 #define CRL_CATALOG_H
+
19 
+
20 #include <string>
+
21 #include <map>
+
22 #include "hurricane/Name.h"
+
23 #include "hurricane/Property.h"
+
24 #include "hurricane/Slot.h"
+
25 
+
26 namespace Hurricane {
+
27  class Cell;
+
28  class Library;
+
29 }
+
30 
+
31 
+
32 namespace CRL {
+
33 
+
34 
+
35  using std::string;
+
36  using std::map;
+ + +
39  using Hurricane::_TName;
+
40  using Hurricane::Name;
+
41  using Hurricane::Record;
+ +
43  using Hurricane::DBo;
+
44  using Hurricane::Cell;
+
45  using Hurricane::Library;
+
46  using Hurricane::Property;
+
47 
+
48 
+
49  extern const char* MissingStateProperty;
+
50 
+
51 
+
52 // -------------------------------------------------------------------
+
53 // Class : "CRL::Catalog".
+
54 
+
55 
+
56  class Catalog {
+
57 
+
58  public:
+
59  class State;
+
60  public:
+
61  inline Catalog ();
+
62  ~Catalog ();
+
63  State* getState ( const Name& name, bool add=false );
+
64  void mergeState ( const Name& name, const State& other );
+
65  bool deleteState ( const Name& name );
+
66  void clear ();
+
67  bool loadFromFile ( const string& path, Library* library );
+
68  inline map<Name,State*>* getStates ();
+
69  string _getPrint () const;
+
70  inline string _getTypeName () const;
+
71  string _getString () const;
+
72  Record* _getRecord () const;
+
73 
+
74  public:
+
75  // Sub-Class: State.
+
76  class State {
+
77  public:
+
78  // Flags Constants.
+
79  enum Flags { FlattenLeaf = 1 << 0
+
80  , Feed = 1 << 1
+
81  , Pad = 1 << 2
+
82  , GDS = 1 << 3
+
83  , Delete = 1 << 4
+
84  , Logical = 1 << 5
+
85  , Physical = 1 << 6
+
86  , InMemory = 1 << 7
+
87  , Foreign = 1 << 8
+ +
89  };
+
90  // Constructors.
+
91  inline State ();
+
92  ~State ();
+
93  // Predicates.
+
94  inline bool isFlattenLeaf () const;
+
95  inline bool isFeed () const;
+
96  inline bool isPad () const;
+
97  inline bool isGds () const;
+
98  inline bool isDelete () const;
+
99  inline bool isPhysical () const;
+
100  inline bool isLogical () const;
+
101  inline bool isInMemory () const;
+
102  // Flags management.
+
103  inline unsigned int getFlags ( unsigned int mask=(unsigned int)-1 ) const;
+
104  inline bool setFlags ( unsigned int mask, bool value );
+
105  inline bool setFlattenLeaf ( bool value );
+
106  inline bool setFeed ( bool value );
+
107  inline bool setPad ( bool value );
+
108  inline bool setGds ( bool value );
+
109  inline bool setDelete ( bool value );
+
110  inline bool setPhysical ( bool value );
+
111  inline bool setLogical ( bool value );
+
112  inline bool setInMemory ( bool value );
+
113  // Accessors.
+
114  inline Cell* getCell () const;
+
115  inline Library* getLibrary () const;
+
116  inline unsigned int getDepth () const;
+
117  // Modifiers.
+
118  inline void merge ( const State& other );
+
119  Cell* setCell ( Cell* cell );
+
120  inline Library* setLibrary ( Library* library );
+
121  inline void setDepth ( unsigned int depth );
+
122  // Hurricane Management.
+
123  void toJson ( JsonWriter* w ) const;
+
124  inline string _getTypeName () const;
+
125  string _getString () const;
+
126  Record* _getRecord () const;
+
127 
+
128  private:
+
129  // Internal - Attributes.
+
130  unsigned int _flags;
+
131  unsigned int _depth;
+
132  Cell* _cell;
+
133  Library* _library;
+
134 
+
135  // Json Property.
+
136  public:
+
137  class JsonState : public JsonObject {
+
138  public:
+
139  static void initialize ();
+
140  JsonState ( unsigned long flags );
+
141  virtual string getTypeName () const;
+
142  virtual JsonState* clone ( unsigned long ) const;
+
143  virtual void toData ( JsonStack& );
+
144  };
+
145  };
+
146 
+
147  private:
+
148  // Attributes.
+
149  map<Name,State*> _states;
+
150 
+
151  private:
+
152  Catalog ( const Catalog& );
+
153  static bool readLine ( const string& s, string& name, State* state );
+
154 
+
155  };
+
156 
+
157 
+
158 // -------------------------------------------------------------------
+
159 // Class : "CRL::CatalogProperty".
+
160 
+
161  class CatalogProperty : public PrivateProperty {
+
162 
+
163  public:
+
164  static Name _name;
+
165  public:
+
166  static CatalogProperty* create ( Catalog::State* state );
+
167  static Name getPropertyName ();
+
168  virtual Name getName () const;
+
169  inline Catalog::State* getState () const;
+
170  inline void setState ( Catalog::State* state );
+
171  virtual void onReleasedBy ( DBo* owner );
+
172  virtual bool hasJson () const;
+
173  virtual void toJson ( JsonWriter* w, const DBo* ) const;
+
174  virtual string _getTypeName () const;
+
175  virtual string _getString () const;
+
176  virtual Record* _getRecord () const;
+
177 
+
178  protected:
+
179  // Attributes.
+
180  Catalog::State* _state;
+
181 
+
182  protected:
+
183  // Constructor.
+
184  inline CatalogProperty ( Catalog::State* state );
+
185  };
+
186 
+
187 
+
188 // -------------------------------------------------------------------
+
189 // Class : "CRL::JsonCatalogProperty".
+
190 
+
191  class JsonCatalogProperty : public JsonObject {
+
192  public:
+
193  static void initialize ();
+
194  JsonCatalogProperty ( unsigned long );
+
195  virtual string getTypeName () const;
+
196  virtual JsonCatalogProperty* clone ( unsigned long ) const;
+
197  virtual void toData ( JsonStack& );
+
198  };
+
199 
+
200 
+
201 // -------------------------------------------------------------------
+
202 // Inline Functions.
+
203 
+
204  inline Catalog::State::State () : _flags(0), _depth(1), _cell(NULL), _library(NULL) { }
+
205  inline bool Catalog::State::isFlattenLeaf () const { return (_flags&FlattenLeaf)?1:0; }
+
206  inline bool Catalog::State::isFeed () const { return (_flags&Feed )?1:0; }
+
207  inline bool Catalog::State::isPad () const { return (_flags&Pad )?1:0; }
+
208  inline bool Catalog::State::isGds () const { return (_flags&GDS )?1:0; }
+
209  inline bool Catalog::State::isDelete () const { return (_flags&Delete )?1:0; }
+
210  inline bool Catalog::State::isPhysical () const { return (_flags&Physical )?1:0; }
+
211  inline bool Catalog::State::isLogical () const { return (_flags&Logical )?1:0; }
+
212  inline bool Catalog::State::isInMemory () const { return (_flags&InMemory )?1:0; }
+
213  inline unsigned int Catalog::State::getFlags ( unsigned int mask ) const { return ( _flags & mask ); }
+
214  inline bool Catalog::State::setFlags ( unsigned int mask, bool value ) {
+
215  if (value) { _flags |= mask; }
+
216  else { _flags &= ~mask; }
+
217  return ((_flags&mask) ? true : false);
+
218  }
+
219  inline bool Catalog::State::setFlattenLeaf ( bool value ) { return setFlags(FlattenLeaf,value); }
+
220  inline bool Catalog::State::setFeed ( bool value ) { return setFlags(Feed ,value); }
+
221  inline bool Catalog::State::setPad ( bool value ) { return setFlags(Pad ,value); }
+
222  inline bool Catalog::State::setGds ( bool value ) { return setFlags(GDS ,value); }
+
223  inline bool Catalog::State::setDelete ( bool value ) { return setFlags(Delete ,value); }
+
224  inline bool Catalog::State::setPhysical ( bool value ) { return setFlags(Physical ,value); }
+
225  inline bool Catalog::State::setLogical ( bool value ) { return setFlags(Logical ,value); }
+
226  inline bool Catalog::State::setInMemory ( bool value ) { return setFlags(InMemory ,value); }
+
227  inline Library* Catalog::State::setLibrary ( Library* library ) { return _library = library; }
+
228  inline void Catalog::State::setDepth ( unsigned int depth ) { _depth = depth; }
+
229  inline Cell* Catalog::State::getCell () const { return _cell; }
+
230  inline Library* Catalog::State::getLibrary () const { return _library; }
+
231  inline unsigned int Catalog::State::getDepth () const { return _depth; }
+
232  inline string Catalog::State::_getTypeName () const { return _TName("Catalog::State"); }
+
233 
+
234  inline Catalog::Catalog () : _states() {}
+
235  inline map<Name,Catalog::State*>*
+
236  Catalog::getStates () { return &_states; }
+
237  inline string Catalog::_getTypeName () const { return _TName("Catalog"); }
+
238 
+
239  inline CatalogProperty::CatalogProperty ( Catalog::State* state ) : PrivateProperty(), _state(state) {}
+
240  inline Catalog::State* CatalogProperty::getState () const { return _state; }
+
241  inline void CatalogProperty::setState ( Catalog::State* state ) { _state = state; }
+
242 
+
243 
+
244 // -------------------------------------------------------------------
+
245 // Class : "CRL::CatalogExtension".
+
246 
+
247 
+ +
249  public:
+
250  static Catalog::State* get ( const Cell* );
+
251  public:
+
252  static inline bool isFlattenLeaf ( const Cell* );
+
253  static inline bool isFeed ( const Cell* );
+
254  static inline bool isPad ( const Cell* );
+
255  static inline bool isGds ( const Cell* );
+
256  static inline bool isDelete ( const Cell* );
+
257  static inline bool isPhysical ( const Cell* );
+
258  static inline bool isLogical ( const Cell* );
+
259  // Flags management.
+
260  static inline unsigned int getFlags ( const Cell*, unsigned int mask=(unsigned int)-1 );
+
261  static inline bool setFlags ( const Cell*, unsigned int mask, bool value );
+
262  static inline bool setFlattenLeaf ( const Cell*, bool value );
+
263  static inline bool setFeed ( const Cell*, bool value );
+
264  static inline bool setPad ( const Cell*, bool value );
+
265  static inline bool setGds ( const Cell*, bool value );
+
266  static inline bool setDelete ( const Cell*, bool value );
+
267  static inline bool setPhysical ( const Cell*, bool value );
+
268  static inline bool setLogical ( const Cell*, bool value );
+
269  // Accessors.
+
270  static inline Library* getLibrary ( const Cell* );
+
271  static inline unsigned int getDepth ( const Cell* );
+
272  // Modifiers.
+
273  static inline Library* setLibrary ( const Cell*, Library* library );
+
274  static inline void setDepth ( const Cell*, unsigned int depth );
+
275  private:
+
276  static const Cell* _owner;
+
277  static Catalog::State* _cache;
+
278  };
+
279 
+
280 
+
281  inline bool CatalogExtension::isFlattenLeaf ( const Cell* cell )
+
282  {
+
283  Catalog::State* state = get(cell);
+
284  return (state == NULL) ? false : state->isFlattenLeaf();
+
285  }
+
286 
+
287 
+
288  inline bool CatalogExtension::isFeed ( const Cell* cell )
+
289  {
+
290  Catalog::State* state = get(cell);
+
291  return (state == NULL) ? false : state->isFeed();
+
292  }
+
293 
+
294 
+
295  inline bool CatalogExtension::isGds ( const Cell* cell )
+
296  {
+
297  Catalog::State* state = get(cell);
+
298  return (state == NULL) ? false : state->isGds();
+
299  }
+
300 
+
301 
+
302  inline bool CatalogExtension::isPad ( const Cell* cell )
+
303  {
+
304  Catalog::State* state = get(cell);
+
305  return (state == NULL) ? false : state->isPad();
+
306  }
+
307 
+
308 
+
309  inline bool CatalogExtension::isDelete ( const Cell* cell )
+
310  {
+
311  Catalog::State* state = get(cell);
+
312  return (state == NULL) ? false : state->isDelete();
+
313  }
+
314 
+
315 
+
316  inline bool CatalogExtension::isPhysical ( const Cell* cell )
+
317  {
+
318  Catalog::State* state = get(cell);
+
319  return (state == NULL) ? false : state->isPhysical();
+
320  }
+
321 
+
322 
+
323  inline bool CatalogExtension::isLogical ( const Cell* cell )
+
324  {
+
325  Catalog::State* state = get(cell);
+
326  return (state == NULL) ? false : state->isLogical();
+
327  }
+
328 
+
329 
+
330  inline unsigned int CatalogExtension::getFlags ( const Cell* cell, unsigned int mask )
+
331  {
+
332  Catalog::State* state = get(cell);
+
333  return (state == NULL) ? 0 : state->getFlags();
+
334  }
+
335 
+
336 
+
337  inline bool CatalogExtension::setFlags ( const Cell* cell, unsigned int mask, bool value )
+
338  {
+
339  Catalog::State* state = get(cell);
+
340  return (state == NULL) ? false : state->setFlags(mask,value);
+
341  }
+
342 
+
343 
+
344  inline bool CatalogExtension::setFlattenLeaf ( const Cell* cell, bool value )
+
345  {
+
346  Catalog::State* state = get(cell);
+
347  return (state == NULL) ? false : state->setFlattenLeaf(value);
+
348  }
+
349 
+
350 
+
351  inline bool CatalogExtension::setFeed ( const Cell* cell, bool value )
+
352  {
+
353  Catalog::State* state = get(cell);
+
354  return (state == NULL) ? false : state->setFeed(value);
+
355  }
+
356 
+
357 
+
358  inline bool CatalogExtension::setPad ( const Cell* cell, bool value )
+
359  {
+
360  Catalog::State* state = get(cell);
+
361  return (state == NULL) ? false : state->setPad(value);
+
362  }
+
363 
+
364 
+
365  inline bool CatalogExtension::setGds ( const Cell* cell, bool value )
+
366  {
+
367  Catalog::State* state = get(cell);
+
368  return (state == NULL) ? false : state->setGds(value);
+
369  }
+
370 
+
371 
+
372  inline bool CatalogExtension::setDelete ( const Cell* cell, bool value )
+
373  {
+
374  Catalog::State* state = get(cell);
+
375  return (state == NULL) ? false : state->setDelete(value);
+
376  }
+
377 
+
378 
+
379  inline bool CatalogExtension::setPhysical ( const Cell* cell, bool value )
+
380  {
+
381  Catalog::State* state = get(cell);
+
382  return (state == NULL) ? false : state->setPhysical(value);
+
383  }
+
384 
+
385 
+
386  inline bool CatalogExtension::setLogical ( const Cell* cell, bool value )
+
387  {
+
388  Catalog::State* state = get(cell);
+
389  return (state == NULL) ? false : state->setLogical(value);
+
390  }
+
391 
+
392 
+
393  inline Library* CatalogExtension::getLibrary ( const Cell* cell )
+
394  {
+
395  Catalog::State* state = get(cell);
+
396  return (state == NULL) ? NULL : state->getLibrary();
+
397  }
+
398 
+
399 
+
400  inline unsigned int CatalogExtension::getDepth ( const Cell* cell )
+
401  {
+
402  Catalog::State* state = get(cell);
+
403  return (state == NULL) ? 0 : state->getDepth();
+
404  }
+
405 
+
406 
+
407  inline Library* CatalogExtension::setLibrary ( const Cell* cell, Library* library )
+
408  {
+
409  Catalog::State* state = get(cell);
+
410  return (state == NULL) ? NULL : state->setLibrary(library);
+
411  }
+
412 
+
413 
+
414  inline void CatalogExtension::setDepth ( const Cell* cell, unsigned int depth )
+
415  {
+
416  Catalog::State* state = get(cell);
+
417  if ( state == NULL ) state->setDepth(depth);
+
418  }
+
419 
+
420 
+
421 } // End of CRL namespace.
+
422 
+
423 
+
424 
+
425 
+
426 // x-----------------------------------------------------------------x
+
427 // | Functions Overload for Hurricane Management |
+
428 // x-----------------------------------------------------------------x
+
429 
+
430 
+
431 inline std::string getPrint ( const CRL::Catalog &CATAL ) { return CATAL._getPrint(); }
+
432 
+
433 INSPECTOR_P_SUPPORT(CRL::Catalog);
+
434 INSPECTOR_P_SUPPORT(CRL::Catalog::State);
+
435 
+
436 
+
437 #endif // CRL_CATALOG_H
+
static bool setPad(const Cell *, bool value)
Definition: Catalog.h:358
An entry to store the Cell State in the Catalog.
Definition: Catalog.h:76
@@ -51,67 +494,76 @@ $(function() {
static bool setLogical(const Cell *, bool value)
Definition: Catalog.h:386
Definition: Catalog.h:79
+
bool setPad(bool value)
Definition: Catalog.h:221
+
Cell * getCell() const
Definition: Catalog.h:229
static bool isGds(const Cell *)
Definition: Catalog.h:295
bool setGds(bool value)
Definition: Catalog.h:222
+
Cell * setCell(Cell *cell)
Catalog()
Definition: Catalog.h:234
+
bool isFlattenLeaf() const
Definition: Catalog.h:205
static bool isDelete(const Cell *)
Definition: Catalog.h:309
+
bool isFeed() const
Definition: Catalog.h:206
static bool isLogical(const Cell *)
Definition: Catalog.h:323
static bool setFeed(const Cell *, bool value)
Definition: Catalog.h:351
static bool setFlattenLeaf(const Cell *, bool value)
Definition: Catalog.h:344
-
bool isLogical() const
Definition: Catalog.h:211
+
void merge(const State &other)
+
bool isPad() const
Definition: Catalog.h:207
+
unsigned int getDepth() const
Definition: Catalog.h:231
+
bool isDelete() const
Definition: Catalog.h:209
+
bool isLogical() const
Definition: Catalog.h:211
-
bool isPhysical() const
Definition: Catalog.h:210
-
bool isDelete() const
Definition: Catalog.h:209
-
static unsigned int getFlags(const Cell *, unsigned int mask=(unsigned int) -1)
Definition: Catalog.h:330
Library * setLibrary(Library *library)
Definition: Catalog.h:227
Definition: Catalog.h:85
+
Definition: Catalog.h:88
bool setLogical(bool value)
Definition: Catalog.h:225
static bool setGds(const Cell *, bool value)
Definition: Catalog.h:365
Definition: Catalog.h:83
+
bool deleteState(const Name &name)
+
void mergeState(const Name &name, const State &other)
bool setFeed(bool value)
Definition: Catalog.h:220
-
Library * getLibrary() const
Definition: Catalog.h:230
+
Definition: Catalog.h:80
-
Cell * getCell() const
Definition: Catalog.h:229
bool setFlags(unsigned int mask, bool value)
Definition: Catalog.h:214
map< Name, State * > * getStates()
Definition: Catalog.h:236
static bool isFeed(const Cell *)
Definition: Catalog.h:288
Definition: Catalog.h:81
+
bool isGds() const
Definition: Catalog.h:208
static Library * getLibrary(const Cell *)
Definition: Catalog.h:393
+
static unsigned int getFlags(const Cell *, unsigned int mask=(unsigned int)-1)
Definition: Catalog.h:330
+
State * getState(const Name &name, bool add=false)
+
State()
Definition: Catalog.h:204
+
Library * getLibrary() const
Definition: Catalog.h:230
bool setFlattenLeaf(bool value)
Definition: Catalog.h:219
static bool isPad(const Cell *)
Definition: Catalog.h:302
-
bool isFeed() const
Definition: Catalog.h:206
+
bool loadFromFile(const string &path, Library *library)
bool setDelete(bool value)
Definition: Catalog.h:223
static Library * setLibrary(const Cell *, Library *library)
Definition: Catalog.h:407
static bool setPhysical(const Cell *, bool value)
Definition: Catalog.h:379
-
Definition: Catalog.h:84
-
bool isPad() const
Definition: Catalog.h:207
-
bool isFlattenLeaf() const
Definition: Catalog.h:205
+
unsigned int getFlags(unsigned int mask=(unsigned int)-1) const
Definition: Catalog.h:213
A Registry to store Alliance Cell metadatas.
Definition: Catalog.h:56
+
bool isPhysical() const
Definition: Catalog.h:210
Definition: Catalog.h:82
static bool setDelete(const Cell *, bool value)
Definition: Catalog.h:372
Wrapper to access a Hurricane::Cell Catalog::State.
Definition: Catalog.h:248
bool setPhysical(bool value)
Definition: Catalog.h:224
-
bool isGds() const
Definition: Catalog.h:208
static bool isPhysical(const Cell *)
Definition: Catalog.h:316
static unsigned int getDepth(const Cell *)
Definition: Catalog.h:400
Flags
Definition: Catalog.h:79
static bool isFlattenLeaf(const Cell *)
Definition: Catalog.h:281
-
The namespace of Coriolis Core.
Definition: Environment.h:26
-
unsigned int getDepth() const
Definition: Catalog.h:231
static bool setFlags(const Cell *, unsigned int mask, bool value)
Definition: Catalog.h:337


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/Environment_8h_source.html b/crlcore/doc/crlcore/html/Environment_8h_source.html index b62045b0..369d8ad6 100644 --- a/crlcore/doc/crlcore/html/Environment_8h_source.html +++ b/crlcore/doc/crlcore/html/Environment_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/Environment.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ENVIRONMENT_H
18 #define CRL_ENVIRONMENT_H
19 
20 #include <regex.h>
21 #include <string>
22 #include "hurricane/Commons.h"
23 #include "crlcore/SearchPath.h"
24 
25 
26 namespace CRL {
27 
30 
31 
32 // -------------------------------------------------------------------
33 // Class : "Environment".
34 
35  class Environment {
36  public:
37  enum AddMode { Append=1, Prepend=2, Replace=3 };
38  public:
39  // Internal: Static Methods.
40  static const char* getEnv ( const char* variable, const char* defaultValue );
41  // Constructors & destructors.
42  Environment ();
43  ~Environment ();
44  // Accessors.
45  inline const std::string& getCORIOLIS_TOP () const;
46  inline const std::string& getDisplayStyle () const;
47  inline long getSCALE_X () const;
48  inline const std::string& getDISPLAY () const;
49  inline const std::string& getIN_LO () const;
50  inline const std::string& getIN_PH () const;
51  inline const std::string& getOUT_LO () const;
52  inline const std::string& getOUT_PH () const;
53  inline const std::string& getPOWER () const;
54  inline const std::string& getGROUND () const;
55  inline const std::string& getCLOCK () const;
56  inline const std::string& getBLOCKAGE () const;
57  inline const std::string& getPad () const;
58  inline const std::string& getCATALOG () const;
59  inline SearchPath& getLIBRARIES ();
60  std::string getLIBRARYPath ( size_t i );
61  // Predicates.
62  bool isPOWER ( const char* name ) const;
63  bool isGROUND ( const char* name ) const;
64  bool isCLOCK ( const char* name ) const;
65  bool isBLOCKAGE ( const char* name ) const;
66  bool isPad ( const char* name ) const;
67  // Modifiers.
68  void validate () const;
69  inline void setDisplayStyle ( const char* );
70  inline void setSCALE_X ( long value );
71  inline void setDISPLAY ( const char* value );
72  inline void setIN_LO ( const char* value );
73  inline void setIN_PH ( const char* value );
74  inline void setOUT_LO ( const char* value );
75  inline void setOUT_PH ( const char* value );
76  void setPOWER ( const char* value );
77  void setGROUND ( const char* value );
78  void setCLOCK ( const char* value );
79  void setBLOCKAGE ( const char* value );
80  void setPad ( const char* value );
81  inline void setCATALOG ( const char* value );
82  inline void setWORKING_LIBRARY ( const char* value );
83  void addSYSTEM_LIBRARY ( const char* value, const char* libName, unsigned int mode=Append );
84  // Methods.
85  std::string getPrint () const;
86  void toJson ( JsonWriter* ) const;
87  inline std::string _getTypeName () const;
88  std::string _getString () const;
89  Record* _getRecord () const;
90  protected:
91  // Internal: Attributes.
92  std::string _CORIOLIS_TOP;
93  std::string _displayStyle;
94  long _SCALE_X;
95  std::string _DISPLAY;
96  std::string _IN_LO;
97  std::string _IN_PH;
98  std::string _OUT_LO;
99  std::string _OUT_PH;
100  std::string _POWER;
101  std::string _GROUND;
102  std::string _CLOCK;
103  std::string _BLOCKAGE;
104  std::string _pad;
105  std::string _CATALOG;
106  SearchPath _LIBRARIES;
107  regex_t _PowerRegex;
108  regex_t _GroundRegex;
109  regex_t _ClockRegex;
110  regex_t _BlockageRegex;
111  regex_t _padRegex;
112  bool _inConstructor;
113  private:
114  void _setRegex ( regex_t* regex, const std::string& pattern, const char* name );
115  };
116 
117 
118  // Inline Member Functions.
119  inline const std::string& Environment::getCORIOLIS_TOP () const { return _CORIOLIS_TOP; }
120  inline const std::string& Environment::getDisplayStyle () const { return _displayStyle; }
121  inline long Environment::getSCALE_X () const { return _SCALE_X; }
122  inline const std::string& Environment::getIN_LO () const { return _IN_LO; }
123  inline const std::string& Environment::getIN_PH () const { return _IN_PH; }
124  inline const std::string& Environment::getOUT_LO () const { return _OUT_LO; }
125  inline const std::string& Environment::getOUT_PH () const { return _OUT_PH; }
126  inline const std::string& Environment::getPOWER () const { return _POWER; }
127  inline const std::string& Environment::getGROUND () const { return _GROUND; }
128  inline const std::string& Environment::getCLOCK () const { return _CLOCK; }
129  inline const std::string& Environment::getBLOCKAGE () const { return _BLOCKAGE; }
130  inline const std::string& Environment::getPad () const { return _pad; }
131  inline const std::string& Environment::getCATALOG () const { return _CATALOG; }
132  inline SearchPath& Environment::getLIBRARIES () { return _LIBRARIES; }
133 
134  inline void Environment::setDisplayStyle ( const char* value ) { _displayStyle = value; }
135  inline void Environment::setSCALE_X ( long value ) { _SCALE_X = value; }
136  inline void Environment::setIN_LO ( const char* value ) { _IN_LO = value; }
137  inline void Environment::setIN_PH ( const char* value ) { _IN_PH = value; }
138  inline void Environment::setOUT_LO ( const char* value ) { _OUT_LO = value; }
139  inline void Environment::setOUT_PH ( const char* value ) { _OUT_PH = value; }
140  inline void Environment::setCATALOG ( const char* value ) { _CATALOG = value; }
141  inline void Environment::setWORKING_LIBRARY ( const char* value ) { _LIBRARIES.replace(value,"working",0); }
142  inline std::string Environment::_getTypeName () const { return "Environment"; }
143 
144 
145 // -------------------------------------------------------------------
146 // Class : "JsonEnvironment".
147 
148  class JsonEnvironment : public JsonObject {
149  public:
150  static void initialize ();
151  JsonEnvironment ( unsigned long flags );
152  virtual std::string getTypeName () const;
153  virtual JsonEnvironment* clone ( unsigned long flags ) const;
154  virtual void toData ( JsonStack& );
155  };
156 
157 
158 } // CRL namespace.
159 
160 
161 INSPECTOR_P_SUPPORT(CRL::Environment);
162 
163 
164 #endif // CRL_ENVIRONMENT_H
void setCATALOG(const char *value)
Definition: Environment.h:140
-
bool isBLOCKAGE(const char *name) const
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul CHAPUT |
+
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/Environment.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_ENVIRONMENT_H
+
18 #define CRL_ENVIRONMENT_H
+
19 
+
20 #include <regex.h>
+
21 #include <string>
+
22 #include "hurricane/Commons.h"
+
23 #include "crlcore/SearchPath.h"
+
24 
+
25 
+
26 namespace CRL {
+
27 
+ + +
30 
+
31 
+
32 // -------------------------------------------------------------------
+
33 // Class : "Environment".
+
34 
+
35  class Environment {
+
36  public:
+
37  enum AddMode { Append=1, Prepend=2, Replace=3 };
+
38  public:
+
39  // Internal: Static Methods.
+
40  static const char* getEnv ( const char* variable, const char* defaultValue );
+
41  // Constructors & destructors.
+
42  Environment ();
+
43  ~Environment ();
+
44  // Accessors.
+
45  inline const std::string& getCORIOLIS_TOP () const;
+
46  inline const std::string& getDisplayStyle () const;
+
47  inline long getSCALE_X () const;
+
48  inline const std::string& getDISPLAY () const;
+
49  inline const std::string& getIN_LO () const;
+
50  inline const std::string& getIN_PH () const;
+
51  inline const std::string& getOUT_LO () const;
+
52  inline const std::string& getOUT_PH () const;
+
53  inline const std::string& getPOWER () const;
+
54  inline const std::string& getGROUND () const;
+
55  inline const std::string& getCLOCK () const;
+
56  inline const std::string& getBLOCKAGE () const;
+
57  inline const std::string& getPad () const;
+
58  inline const std::string& getCATALOG () const;
+
59  inline SearchPath& getLIBRARIES ();
+
60  std::string getLIBRARYPath ( size_t i );
+
61  // Predicates.
+
62  bool isPOWER ( const char* name ) const;
+
63  bool isGROUND ( const char* name ) const;
+
64  bool isCLOCK ( const char* name ) const;
+
65  bool isBLOCKAGE ( const char* name ) const;
+
66  bool isPad ( const char* name ) const;
+
67  // Modifiers.
+
68  void validate () const;
+
69  inline void setDisplayStyle ( const char* );
+
70  inline void setSCALE_X ( long value );
+
71  inline void setDISPLAY ( const char* value );
+
72  inline void setIN_LO ( const char* value );
+
73  inline void setIN_PH ( const char* value );
+
74  inline void setOUT_LO ( const char* value );
+
75  inline void setOUT_PH ( const char* value );
+
76  void setPOWER ( const char* value );
+
77  void setGROUND ( const char* value );
+
78  void setCLOCK ( const char* value );
+
79  void setBLOCKAGE ( const char* value );
+
80  void setPad ( const char* value );
+
81  inline void setCATALOG ( const char* value );
+
82  inline void setWORKING_LIBRARY ( const char* value );
+
83  void addSYSTEM_LIBRARY ( const char* value, const char* libName, unsigned int mode=Append );
+
84  // Methods.
+
85  std::string getPrint () const;
+
86  void toJson ( JsonWriter* ) const;
+
87  inline std::string _getTypeName () const;
+
88  std::string _getString () const;
+
89  Record* _getRecord () const;
+
90  protected:
+
91  // Internal: Attributes.
+
92  std::string _CORIOLIS_TOP;
+
93  std::string _displayStyle;
+
94  long _SCALE_X;
+
95  std::string _DISPLAY;
+
96  std::string _IN_LO;
+
97  std::string _IN_PH;
+
98  std::string _OUT_LO;
+
99  std::string _OUT_PH;
+
100  std::string _POWER;
+
101  std::string _GROUND;
+
102  std::string _CLOCK;
+
103  std::string _BLOCKAGE;
+
104  std::string _pad;
+
105  std::string _CATALOG;
+
106  SearchPath _LIBRARIES;
+
107  regex_t _PowerRegex;
+
108  regex_t _GroundRegex;
+
109  regex_t _ClockRegex;
+
110  regex_t _BlockageRegex;
+
111  regex_t _padRegex;
+
112  bool _inConstructor;
+
113  private:
+
114  void _setRegex ( regex_t* regex, const std::string& pattern, const char* name );
+
115  };
+
116 
+
117 
+
118  // Inline Member Functions.
+
119  inline const std::string& Environment::getCORIOLIS_TOP () const { return _CORIOLIS_TOP; }
+
120  inline const std::string& Environment::getDisplayStyle () const { return _displayStyle; }
+
121  inline long Environment::getSCALE_X () const { return _SCALE_X; }
+
122  inline const std::string& Environment::getIN_LO () const { return _IN_LO; }
+
123  inline const std::string& Environment::getIN_PH () const { return _IN_PH; }
+
124  inline const std::string& Environment::getOUT_LO () const { return _OUT_LO; }
+
125  inline const std::string& Environment::getOUT_PH () const { return _OUT_PH; }
+
126  inline const std::string& Environment::getPOWER () const { return _POWER; }
+
127  inline const std::string& Environment::getGROUND () const { return _GROUND; }
+
128  inline const std::string& Environment::getCLOCK () const { return _CLOCK; }
+
129  inline const std::string& Environment::getBLOCKAGE () const { return _BLOCKAGE; }
+
130  inline const std::string& Environment::getPad () const { return _pad; }
+
131  inline const std::string& Environment::getCATALOG () const { return _CATALOG; }
+
132  inline SearchPath& Environment::getLIBRARIES () { return _LIBRARIES; }
+
133 
+
134  inline void Environment::setDisplayStyle ( const char* value ) { _displayStyle = value; }
+
135  inline void Environment::setSCALE_X ( long value ) { _SCALE_X = value; }
+
136  inline void Environment::setIN_LO ( const char* value ) { _IN_LO = value; }
+
137  inline void Environment::setIN_PH ( const char* value ) { _IN_PH = value; }
+
138  inline void Environment::setOUT_LO ( const char* value ) { _OUT_LO = value; }
+
139  inline void Environment::setOUT_PH ( const char* value ) { _OUT_PH = value; }
+
140  inline void Environment::setCATALOG ( const char* value ) { _CATALOG = value; }
+
141  inline void Environment::setWORKING_LIBRARY ( const char* value ) { _LIBRARIES.replace(value,"working",0); }
+
142  inline std::string Environment::_getTypeName () const { return "Environment"; }
+
143 
+
144 
+
145 // -------------------------------------------------------------------
+
146 // Class : "JsonEnvironment".
+
147 
+
148  class JsonEnvironment : public JsonObject {
+
149  public:
+
150  static void initialize ();
+
151  JsonEnvironment ( unsigned long flags );
+
152  virtual std::string getTypeName () const;
+
153  virtual JsonEnvironment* clone ( unsigned long flags ) const;
+
154  virtual void toData ( JsonStack& );
+
155  };
+
156 
+
157 
+
158 } // CRL namespace.
+
159 
+
160 
+
161 INSPECTOR_P_SUPPORT(CRL::Environment);
+
162 
+
163 
+
164 #endif // CRL_ENVIRONMENT_H
+
void setCATALOG(const char *value)
Definition: Environment.h:140
Definition: Environment.h:37
void setSCALE_X(long value)
Definition: Environment.h:135
+
long getSCALE_X() const
Definition: Environment.h:121
void setBLOCKAGE(const char *value)
-
bool isCLOCK(const char *name) const
-
bool isPOWER(const char *name) const
-
const std::string & getCATALOG() const
Definition: Environment.h:131
+
bool isPOWER(const char *name) const
+
const std::string & getCLOCK() const
Definition: Environment.h:128
SearchPath & getLIBRARIES()
Definition: Environment.h:132
void setGROUND(const char *value)
-
const std::string & getIN_PH() const
Definition: Environment.h:123
-
const std::string & getPad() const
Definition: Environment.h:130
+
std::string getPrint() const
void setWORKING_LIBRARY(const char *value)
Definition: Environment.h:141
+
const std::string & getDisplayStyle() const
Definition: Environment.h:120
-
std::string getPrint() const
-
void validate() const
+
const std::string & getCORIOLIS_TOP() const
Definition: Environment.h:119
Definition: Environment.h:37
+
bool isBLOCKAGE(const char *name) const
+
const std::string & getOUT_PH() const
Definition: Environment.h:125
+
const std::string & getPOWER() const
Definition: Environment.h:126
Definition: Environment.h:37
void setPad(const char *value)
-
const std::string & getOUT_LO() const
Definition: Environment.h:124
-
const std::string & getDISPLAY() const
+
const std::string & getGROUND() const
Definition: Environment.h:127
void addSYSTEM_LIBRARY(const char *value, const char *libName, unsigned int mode=Append)
+
void validate() const
void setOUT_LO(const char *value)
Definition: Environment.h:138
-
const std::string & getGROUND() const
Definition: Environment.h:127
-
bool isPad(const char *name) const
-
const std::string & getOUT_PH() const
Definition: Environment.h:125
void setPOWER(const char *value)
void setIN_PH(const char *value)
Definition: Environment.h:137
+
bool isCLOCK(const char *name) const
-
bool isGROUND(const char *name) const
-
const std::string & getBLOCKAGE() const
Definition: Environment.h:129
-
const std::string & getCORIOLIS_TOP() const
Definition: Environment.h:119
+
bool isGROUND(const char *name) const
+
const std::string & getPad() const
Definition: Environment.h:130
+
const std::string & getDISPLAY() const
void setIN_LO(const char *value)
Definition: Environment.h:136
-
const std::string & getPOWER() const
Definition: Environment.h:126
+
bool isPad(const char *name) const
An ordered list of search pathes.
Definition: SearchPath.h:32
-
const std::string & getCLOCK() const
Definition: Environment.h:128
-
long getSCALE_X() const
Definition: Environment.h:121
-
const std::string & getDisplayStyle() const
Definition: Environment.h:120
+
const std::string & getIN_LO() const
Definition: Environment.h:122
+
const std::string & getOUT_LO() const
Definition: Environment.h:124
void setOUT_PH(const char *value)
Definition: Environment.h:139
-
const std::string & getIN_LO() const
Definition: Environment.h:122
+
const std::string & getIN_PH() const
Definition: Environment.h:123
AddMode
Definition: Environment.h:37
+
const std::string & getBLOCKAGE() const
Definition: Environment.h:129
Holds all the Alliance environment variables.
Definition: Environment.h:35
+
const std::string & getCATALOG() const
Definition: Environment.h:131
std::string getLIBRARYPath(size_t i)
void setCLOCK(const char *value)
void setDisplayStyle(const char *)
Definition: Environment.h:134
-
The namespace of Coriolis Core.
Definition: Environment.h:26
void replace(const std::string &path, const std::string &, size_t index)
void setDISPLAY(const char *value)
@@ -98,7 +267,7 @@ $(function() {
- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html b/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html index fde6e252..f5b6e8d4 100644 --- a/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html +++ b/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC/LIP6 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul Chaput |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/GraphicToolEngine.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_GRAPHIC_TOOL_H
18 #define CRL_GRAPHIC_TOOL_H
19 
20 #include <string>
21 #include <map>
22 #include <functional>
23 #include <QObject>
24 
25 class QMenu;
26 
27 #include "hurricane/Error.h"
28 #include "hurricane/viewer/CellWidget.h"
29 #include "hurricane/viewer/ExceptionWidget.h"
30 
31 
32 namespace Hurricane {
33  class Name;
34  class Cell;
35  class CellViewer;
36 }
37 
38 
39 namespace CRL {
40 
41  using std::string;
42  using std::map;
43  using Hurricane::Error;
45  using Hurricane::Name;
46  using Hurricane::Cell;
49  using Hurricane::ExceptionWidget;
50 
51 
52 // -------------------------------------------------------------------
53 // Class : "CRL::GraphicTool".
54 
55  class GraphicTool : public QObject {
56  Q_OBJECT;
57 
58  public:
59  class DrawGoFunctions {
60  private:
61  CellWidget::InitExtensionGo_t* _init;
62  CellWidget::DrawExtensionGo_t* _draw;
63  public:
64  inline DrawGoFunctions ( CellWidget::InitExtensionGo_t*
65  , CellWidget::DrawExtensionGo_t*
66  );
67  inline CellWidget::DrawExtensionGo_t* getDraw () const;
68  inline CellWidget::InitExtensionGo_t* getInit () const;
69  };
70  public:
71  typedef map<Name,DrawGoFunctions> DrawGoMap;
72  public:
73  void addDrawGo ( const Name&
74  , CellWidget::InitExtensionGo_t*
75  , CellWidget::DrawExtensionGo_t*
76  );
77  DrawGoFunctions* getDrawGo ( const Name& );
78  inline const DrawGoMap& getDrawGos () const;
79  virtual void addToMenu ( CellViewer* ) = 0;
80  virtual const Name& getName () const = 0;
81  virtual size_t release () = 0;
82  protected:
83  map<Name,DrawGoFunctions> _drawGoMap;
84  protected:
85  GraphicTool ();
86  virtual ~GraphicTool ();
87  protected:
88  };
89 
90 
91 // Inline Functions.
92  inline GraphicTool::DrawGoFunctions::DrawGoFunctions ( CellWidget::InitExtensionGo_t* init
93  , CellWidget::DrawExtensionGo_t* draw
94  )
95  : _init(init)
96  , _draw(draw)
97  { }
98 
99  inline CellWidget::DrawExtensionGo_t* GraphicTool::DrawGoFunctions::getDraw () const
100  { return _draw; }
101 
102  inline CellWidget::InitExtensionGo_t* GraphicTool::DrawGoFunctions::getInit () const
103  { return _init; }
104 
105  inline const GraphicTool::DrawGoMap& GraphicTool::getDrawGos () const
106  { return _drawGoMap; }
107 
108 
109 } // CRL namespace.
110 
111 #endif // CRL_GRAPHIC_TOOL_H
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC/LIP6 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul Chaput |
+
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/GraphicToolEngine.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_GRAPHIC_TOOL_H
+
18 #define CRL_GRAPHIC_TOOL_H
+
19 
+
20 #include <string>
+
21 #include <map>
+
22 #include <functional>
+
23 #include <QObject>
+
24 
+
25 class QMenu;
+
26 
+
27 #include "hurricane/Error.h"
+
28 #include "hurricane/viewer/CellWidget.h"
+
29 #include "hurricane/viewer/ExceptionWidget.h"
+
30 
+
31 
+
32 namespace Hurricane {
+
33  class Name;
+
34  class Cell;
+
35  class CellViewer;
+
36 }
+
37 
+
38 
+
39 namespace CRL {
+
40 
+
41  using std::string;
+
42  using std::map;
+
43  using Hurricane::Error;
+ +
45  using Hurricane::Name;
+
46  using Hurricane::Cell;
+ + +
49  using Hurricane::ExceptionWidget;
+
50 
+
51 
+
52 // -------------------------------------------------------------------
+
53 // Class : "CRL::GraphicTool".
+
54 
+
55  class GraphicTool : public QObject {
+
56  Q_OBJECT;
+
57 
+
58  public:
+
59  class DrawGoFunctions {
+
60  private:
+
61  CellWidget::InitExtensionGo_t* _init;
+
62  CellWidget::DrawExtensionGo_t* _draw;
+
63  public:
+
64  inline DrawGoFunctions ( CellWidget::InitExtensionGo_t*
+
65  , CellWidget::DrawExtensionGo_t*
+
66  );
+
67  inline CellWidget::DrawExtensionGo_t* getDraw () const;
+
68  inline CellWidget::InitExtensionGo_t* getInit () const;
+
69  };
+
70  public:
+
71  typedef map<Name,DrawGoFunctions> DrawGoMap;
+
72  public:
+
73  void addDrawGo ( const Name&
+
74  , CellWidget::InitExtensionGo_t*
+
75  , CellWidget::DrawExtensionGo_t*
+
76  );
+
77  DrawGoFunctions* getDrawGo ( const Name& );
+
78  inline const DrawGoMap& getDrawGos () const;
+
79  virtual void addToMenu ( CellViewer* ) = 0;
+
80  virtual const Name& getName () const = 0;
+
81  virtual size_t release () = 0;
+
82  protected:
+
83  map<Name,DrawGoFunctions> _drawGoMap;
+
84  protected:
+
85  GraphicTool ();
+
86  virtual ~GraphicTool ();
+
87  protected:
+
88  };
+
89 
+
90 
+
91 // Inline Functions.
+
92  inline GraphicTool::DrawGoFunctions::DrawGoFunctions ( CellWidget::InitExtensionGo_t* init
+
93  , CellWidget::DrawExtensionGo_t* draw
+
94  )
+
95  : _init(init)
+
96  , _draw(draw)
+
97  { }
+
98 
+
99  inline CellWidget::DrawExtensionGo_t* GraphicTool::DrawGoFunctions::getDraw () const
+
100  { return _draw; }
+
101 
+
102  inline CellWidget::InitExtensionGo_t* GraphicTool::DrawGoFunctions::getInit () const
+
103  { return _init; }
+
104 
+
105  inline const GraphicTool::DrawGoMap& GraphicTool::getDrawGos () const
+
106  { return _drawGoMap; }
+
107 
+
108 
+
109 } // CRL namespace.
+
110 
+
111 #endif // CRL_GRAPHIC_TOOL_H
+
Base Class to Hook ToolEngines into the CellViewer.
Definition: GraphicToolEngine.h:55
+
virtual const Name & getName() const =0
+
virtual void addToMenu(CellViewer *)=0
- -
The namespace of Coriolis Core.
Definition: Environment.h:26


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html b/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html index 9eed176e..9f2c6dd4 100644 --- a/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html +++ b/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/RoutingGauge.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ROUTING_GAUGE_H
18 #define CRL_ROUTING_GAUGE_H
19 
20 #include <string>
21 #include <vector>
22 #include "hurricane/Name.h"
23 #include "hurricane/Slot.h"
24 
25 namespace Hurricane {
26  class Layer;
27  class Technology;
28 }
29 
30 #include "crlcore/RoutingLayerGauge.h"
31 
32 namespace CRL {
33 
34  using std::string;
35  using std::vector;
39  using Hurricane::Name;
40  using Hurricane::Record;
41  using Hurricane::Layer;
43 
44 
45 // -------------------------------------------------------------------
46 // Class : "RoutingGauge".
47 
48  class RoutingGauge {
49 
50  public:
51  // Constants.
52  static const size_t nlayerdepth;
53  // Constructors & Destructors.
54  static RoutingGauge* create ( const char* name );
55  virtual void destroy ();
56  // Predicates.
57  inline bool isSymbolic () const;
58  inline bool isTwoMetals () const;
59  inline bool isHV () const;
60  inline bool isVH () const;
61  // Accessors.
62  RoutingGauge* getClone () const;
63  inline const Name getName () const;
64  inline Technology* getTechnology () const;
65  inline size_t getDepth () const;
66  inline DbU::Unit getHorizontalPitch () const;
67  inline DbU::Unit getVerticalPitch () const;
68  RoutingLayerGauge* getHorizontalGauge () const;
69  RoutingLayerGauge* getVerticalGauge () const;
70  RoutingLayerGauge* getLayerGauge ( const Layer* ) const;
71  size_t getViaDepth ( const Layer* ) const;
72  size_t getLayerDepth ( const Layer* ) const;
73  unsigned int getLayerType ( const Layer* ) const;
74  unsigned int getLayerDirection ( const Layer* ) const;
75  RoutingLayerGauge* getLayerGauge ( size_t depth ) const;
76  inline unsigned int getLayerDirection ( size_t depth ) const;
77  inline unsigned int getLayerType ( size_t depth ) const;
78  inline DbU::Unit getLayerPitch ( size_t depth ) const;
79  inline DbU::Unit getLayerOffset ( size_t depth ) const;
80  inline DbU::Unit getLayerWireWidth ( size_t depth ) const;
81  inline DbU::Unit getViaWidth ( size_t depth ) const;
82  const Layer* getRoutingLayer ( size_t depth ) const;
83  Layer* getContactLayer ( size_t depth ) const;
84  const vector<RoutingLayerGauge*>&
85  getLayerGauges () const;
86  // Methods.
87  void addLayerGauge ( RoutingLayerGauge* layerGauge );
88  void checkConnexity () const;
89  inline void setSymbolic ( bool );
90  // Hurricane Managment.
91  void toJson ( JsonWriter* ) const;
92  virtual Record* _getRecord ( Record* record=NULL ) const;
93  virtual string _getString () const;
94  virtual string _getTypeName () const;
95 
96  protected:
97  // Internal - Attributes.
98  Name _name;
99  vector<RoutingLayerGauge*> _layerGauges;
100  vector<Layer*> _viaLayers;
101  Technology* _technology;
102  bool _isSymbolic;
103 
104  // Internal - Constructors & Destructors.
105  RoutingGauge ( const char* name );
106  RoutingGauge ( const RoutingGauge& );
107  virtual ~RoutingGauge ();
108  virtual void _preDestroy ();
109  RoutingGauge& operator= ( const RoutingGauge& );
110  };
111 
112 
113  inline bool RoutingGauge::isSymbolic () const { return _isSymbolic; }
114  inline bool RoutingGauge::isTwoMetals () const { return (getDepth() < 3); }
115  inline bool RoutingGauge::isHV () const { return not isTwoMetals() and (getLayerGauge(1)->isHorizontal()); }
116  inline bool RoutingGauge::isVH () const { return not isTwoMetals() and (getLayerGauge(1)->isVertical()); }
117  inline const Name RoutingGauge::getName () const { return _name; }
118  inline size_t RoutingGauge::getDepth () const { return _layerGauges.size(); }
119  inline Technology* RoutingGauge::getTechnology () const { return _technology; }
120  inline DbU::Unit RoutingGauge::getHorizontalPitch () const { return getHorizontalGauge()->getPitch(); }
121  inline DbU::Unit RoutingGauge::getVerticalPitch () const { return getVerticalGauge ()->getPitch(); }
122  inline unsigned int RoutingGauge::getLayerType ( size_t depth ) const { return getLayerGauge(depth)->getType(); }
123  inline unsigned int RoutingGauge::getLayerDirection ( size_t depth ) const { return getLayerGauge(depth)->getDirection(); }
124  inline DbU::Unit RoutingGauge::getLayerPitch ( size_t depth ) const { return getLayerGauge(depth)->getPitch(); }
125  inline DbU::Unit RoutingGauge::getLayerOffset ( size_t depth ) const { return getLayerGauge(depth)->getOffset(); }
126  inline DbU::Unit RoutingGauge::getLayerWireWidth ( size_t depth ) const { return getLayerGauge(depth)->getWireWidth(); }
127  inline DbU::Unit RoutingGauge::getViaWidth ( size_t depth ) const { return getLayerGauge(depth)->getViaWidth(); }
128  inline void RoutingGauge::setSymbolic ( bool state ) { _isSymbolic=state; }
129 
130 
131 // -------------------------------------------------------------------
132 // Class : "JsonRoutingGauge".
133 
134  class JsonRoutingGauge : public JsonObject {
135  public:
136  static void initialize ();
137  JsonRoutingGauge ( unsigned long flags );
138  virtual string getTypeName () const;
139  virtual JsonRoutingGauge* clone ( unsigned long flags ) const;
140  virtual void toData ( JsonStack& );
141  };
142 
143 
144 } // CRL namespace.
145 
146 INSPECTOR_P_SUPPORT(CRL::RoutingGauge);
147 
148 #endif
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul CHAPUT |
+
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/RoutingGauge.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_ROUTING_GAUGE_H
+
18 #define CRL_ROUTING_GAUGE_H
+
19 
+
20 #include <string>
+
21 #include <vector>
+
22 #include "hurricane/Name.h"
+
23 #include "hurricane/Slot.h"
+
24 
+
25 namespace Hurricane {
+
26  class Layer;
+
27  class Technology;
+
28 }
+
29 
+
30 #include "crlcore/RoutingLayerGauge.h"
+
31 
+
32 namespace CRL {
+
33 
+
34  using std::string;
+
35  using std::vector;
+ + + +
39  using Hurricane::Name;
+
40  using Hurricane::Record;
+
41  using Hurricane::Layer;
+ +
43 
+
44 
+
45 // -------------------------------------------------------------------
+
46 // Class : "RoutingGauge".
+
47 
+
48  class RoutingGauge {
+
49 
+
50  public:
+
51  // Constants.
+
52  static const size_t nlayerdepth;
+
53  // Constructors & Destructors.
+
54  static RoutingGauge* create ( const char* name );
+
55  virtual void destroy ();
+
56  // Predicates.
+
57  inline bool isSymbolic () const;
+
58  inline bool isTwoMetals () const;
+
59  inline bool isHV () const;
+
60  inline bool isVH () const;
+
61  // Accessors.
+
62  RoutingGauge* getClone () const;
+
63  inline const Name getName () const;
+
64  inline Technology* getTechnology () const;
+
65  inline size_t getDepth () const;
+
66  inline DbU::Unit getHorizontalPitch () const;
+
67  inline DbU::Unit getVerticalPitch () const;
+
68  RoutingLayerGauge* getHorizontalGauge () const;
+
69  RoutingLayerGauge* getVerticalGauge () const;
+
70  RoutingLayerGauge* getLayerGauge ( const Layer* ) const;
+
71  size_t getViaDepth ( const Layer* ) const;
+
72  size_t getLayerDepth ( const Layer* ) const;
+
73  unsigned int getLayerType ( const Layer* ) const;
+
74  unsigned int getLayerDirection ( const Layer* ) const;
+
75  RoutingLayerGauge* getLayerGauge ( size_t depth ) const;
+
76  inline unsigned int getLayerDirection ( size_t depth ) const;
+
77  inline unsigned int getLayerType ( size_t depth ) const;
+
78  inline DbU::Unit getLayerPitch ( size_t depth ) const;
+
79  inline DbU::Unit getLayerOffset ( size_t depth ) const;
+
80  inline DbU::Unit getLayerWireWidth ( size_t depth ) const;
+
81  inline DbU::Unit getViaWidth ( size_t depth ) const;
+
82  const Layer* getRoutingLayer ( size_t depth ) const;
+
83  Layer* getContactLayer ( size_t depth ) const;
+
84  const vector<RoutingLayerGauge*>&
+
85  getLayerGauges () const;
+
86  // Methods.
+
87  void addLayerGauge ( RoutingLayerGauge* layerGauge );
+
88  void checkConnexity () const;
+
89  inline void setSymbolic ( bool );
+
90  // Hurricane Managment.
+
91  void toJson ( JsonWriter* ) const;
+
92  virtual Record* _getRecord ( Record* record=NULL ) const;
+
93  virtual string _getString () const;
+
94  virtual string _getTypeName () const;
+
95 
+
96  protected:
+
97  // Internal - Attributes.
+
98  Name _name;
+
99  vector<RoutingLayerGauge*> _layerGauges;
+
100  vector<Layer*> _viaLayers;
+
101  Technology* _technology;
+
102  bool _isSymbolic;
+
103 
+
104  // Internal - Constructors & Destructors.
+
105  RoutingGauge ( const char* name );
+
106  RoutingGauge ( const RoutingGauge& );
+
107  virtual ~RoutingGauge ();
+
108  virtual void _preDestroy ();
+
109  RoutingGauge& operator= ( const RoutingGauge& );
+
110  };
+
111 
+
112 
+
113  inline bool RoutingGauge::isSymbolic () const { return _isSymbolic; }
+
114  inline bool RoutingGauge::isTwoMetals () const { return (getDepth() < 3); }
+
115  inline bool RoutingGauge::isHV () const { return not isTwoMetals() and (getLayerGauge(1)->isHorizontal()); }
+
116  inline bool RoutingGauge::isVH () const { return not isTwoMetals() and (getLayerGauge(1)->isVertical()); }
+
117  inline const Name RoutingGauge::getName () const { return _name; }
+
118  inline size_t RoutingGauge::getDepth () const { return _layerGauges.size(); }
+
119  inline Technology* RoutingGauge::getTechnology () const { return _technology; }
+
120  inline DbU::Unit RoutingGauge::getHorizontalPitch () const { return getHorizontalGauge()->getPitch(); }
+
121  inline DbU::Unit RoutingGauge::getVerticalPitch () const { return getVerticalGauge ()->getPitch(); }
+
122  inline unsigned int RoutingGauge::getLayerType ( size_t depth ) const { return getLayerGauge(depth)->getType(); }
+
123  inline unsigned int RoutingGauge::getLayerDirection ( size_t depth ) const { return getLayerGauge(depth)->getDirection(); }
+
124  inline DbU::Unit RoutingGauge::getLayerPitch ( size_t depth ) const { return getLayerGauge(depth)->getPitch(); }
+
125  inline DbU::Unit RoutingGauge::getLayerOffset ( size_t depth ) const { return getLayerGauge(depth)->getOffset(); }
+
126  inline DbU::Unit RoutingGauge::getLayerWireWidth ( size_t depth ) const { return getLayerGauge(depth)->getWireWidth(); }
+
127  inline DbU::Unit RoutingGauge::getViaWidth ( size_t depth ) const { return getLayerGauge(depth)->getViaWidth(); }
+
128  inline void RoutingGauge::setSymbolic ( bool state ) { _isSymbolic=state; }
+
129 
+
130 
+
131 // -------------------------------------------------------------------
+
132 // Class : "JsonRoutingGauge".
+
133 
+
134  class JsonRoutingGauge : public JsonObject {
+
135  public:
+
136  static void initialize ();
+
137  JsonRoutingGauge ( unsigned long flags );
+
138  virtual string getTypeName () const;
+
139  virtual JsonRoutingGauge* clone ( unsigned long flags ) const;
+
140  virtual void toData ( JsonStack& );
+
141  };
+
142 
+
143 
+
144 } // CRL namespace.
+
145 
+
146 INSPECTOR_P_SUPPORT(CRL::RoutingGauge);
+
147 
+
148 #endif
+
Technology * getTechnology() const
Definition: RoutingGauge.h:119
+
DbU::Unit getOffset() const
Definition: RoutingLayerGauge.h:177
+
const Layer * getRoutingLayer(size_t depth) const
+ +
const vector< RoutingLayerGauge * > & getLayerGauges() const
+
Constant::Direction getDirection() const
Definition: RoutingLayerGauge.h:173
std::int64_t Unit
+
virtual void destroy()
Gauge for the detailed routing.
Definition: RoutingGauge.h:48
+
Constant::LayerGaugeType getType() const
Definition: RoutingLayerGauge.h:174
+
DbU::Unit getViaWidth() const
Definition: RoutingLayerGauge.h:182
+
size_t getLayerDepth(const Layer *) const
+
void addLayerGauge(RoutingLayerGauge *layerGauge)
+
static RoutingGauge * create(const char *name)
+
void checkConnexity() const
+
DbU::Unit getWireWidth() const
Definition: RoutingLayerGauge.h:180
- +
unsigned int getLayerDirection(const Layer *) const
+
const Name getName() const
Definition: RoutingGauge.h:117
+
RoutingLayerGauge * getLayerGauge(const Layer *) const
+
Layer * getContactLayer(size_t depth) const
+
RoutingGauge * getClone() const
+
size_t getDepth() const
Definition: RoutingGauge.h:118
Gauge of a Layer for the detailed routing.
Definition: RoutingLayerGauge.h:77
-
The namespace of Coriolis Core.
Definition: Environment.h:26
+
DbU::Unit getPitch() const
Definition: RoutingLayerGauge.h:178


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html b/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html index 43a820fb..6be72a19 100644 --- a/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html +++ b/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | C o r e L i b r a r y |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./RoutingLayerGauge.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ROUTING_LAYER_GAUGE_H
18 #define CRL_ROUTING_LAYER_GAUGE_H
19 
20 
21 #include <map>
22 #include "hurricane/Commons.h"
23 #include "hurricane/Error.h"
24 #include "hurricane/DbU.h"
25 #include "hurricane/Collection.h"
26 #include "hurricane/Slot.h"
27 #include "crlcore/Utilities.h"
28 
29 namespace Hurricane {
30  class Layer;
31 }
32 
33 
34 namespace Constant {
35 
36  enum Direction { Horizontal = (1<<0)
37  , Vertical = (1<<1)
38  };
39 
40  enum LayerGaugeType { Default = (1<<0)
41  , PinOnly = (1<<1)
42  };
43 
44  enum Round { Superior = (1<<2)
45  , Inferior = (1<<3)
46  , Nearest = (1<<4)
47  , Exact = (1<<5)
48  };
49 
50  Direction perpandicular ( unsigned int );
51 
52 }
53 
54 
55 
56 namespace CRL {
57 
58  using std::map;
65  using Hurricane::Record;
66  using Hurricane::DbU;
67  using Hurricane::Layer;
68 
69 
70  class RoutingGauge;
71 
72 
73 // -------------------------------------------------------------------
74 // Class : "RoutingLayerGauge".
75 
76 
78 
79  public:
80  // Constructors & Destructors.
81  static RoutingLayerGauge* create ( const Layer* layer
82  , Constant::Direction direction
84  , unsigned int depth
85  , double density
86  , DbU::Unit offset
87  , DbU::Unit pitch
88  , DbU::Unit wireWidth
89  , DbU::Unit viaWidth
90  , DbU::Unit obsDw );
91  virtual void destroy ();
92  // Accessors.
93  inline bool isHorizontal () const;
94  inline bool isVertical () const;
95  inline const Layer* getLayer () const;
96  inline const Layer* getBlockageLayer () const;
97  inline unsigned int getDepth () const;
98  inline Constant::Direction getDirection () const;
99  inline Constant::LayerGaugeType getType () const;
100  inline double getDensity () const;
101  inline DbU::Unit getOffset () const;
102  inline DbU::Unit getPitch () const;
103  inline DbU::Unit getHalfPitch () const;
104  inline DbU::Unit getWireWidth () const;
105  inline DbU::Unit getHalfWireWidth () const;
106  inline DbU::Unit getViaWidth () const;
107  inline DbU::Unit getHalfViaWidth () const;
108  inline DbU::Unit getObstacleDw () const;
109  void divide ( DbU::Unit dividend, long& quotient, long& modulo ) const;
110  unsigned int getTrackNumber ( DbU::Unit start, DbU::Unit stop ) const;
111  unsigned int getTrackIndex ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const;
112  inline DbU::Unit getTrackPosition ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const;
113  DbU::Unit getTrackPosition ( DbU::Unit start, unsigned depth ) const;
114  // Hurricane Managment.
115  void toJson ( JsonWriter* ) const;
116  virtual string _getTypeName () const;
117  virtual string _getString () const;
118  virtual Record* _getRecord () const;
119 
120  protected:
121  // Internal - Attributes.
122  const Layer* _layer;
123  const Layer* _blockageLayer;
124  Constant::Direction _direction;
126  unsigned int _depth;
127  double _density;
128  DbU::Unit _offset;
129  DbU::Unit _pitch;
130  DbU::Unit _wireWidth;
131  DbU::Unit _viaWidth;
132  DbU::Unit _obstacleDw;
133 
134  // Internal - Constructors & Destructors.
135  RoutingLayerGauge ( const Layer* layer
136  , Constant::Direction direction
138  , unsigned int depth
139  , double density
140  , DbU::Unit offset
141  , DbU::Unit pitch
142  , DbU::Unit wireWidth
143  , DbU::Unit viaWidth
144  , DbU::Unit obsDw );
145  virtual ~RoutingLayerGauge ();
146  virtual void _preDestroy();
147  RoutingLayerGauge& operator= ( const RoutingLayerGauge& );
148 
149  // Friends.
150  friend class RoutingGauge;
151  };
152 
153 
154  // New Types.
155  typedef map<Layer*,RoutingLayerGauge*> RoutingLayerGaugeMap;
156 
157 
158 // -------------------------------------------------------------------
159 // Collection : "RoutingLayerGauges".
160 
164 
165 
166 // -------------------------------------------------------------------
167 // Inline Functions.
168 
169  inline bool RoutingLayerGauge::isHorizontal () const { return (_direction == Constant::Direction::Horizontal); }
170  inline bool RoutingLayerGauge::isVertical () const { return (_direction == Constant::Direction::Vertical); }
171  inline const Layer* RoutingLayerGauge::getLayer () const { return _layer; }
172  inline const Layer* RoutingLayerGauge::getBlockageLayer () const { return _blockageLayer; }
173  inline Constant::Direction RoutingLayerGauge::getDirection () const { return _direction; }
174  inline Constant::LayerGaugeType RoutingLayerGauge::getType () const { return _type; }
175  inline unsigned int RoutingLayerGauge::getDepth () const { return _depth; }
176  inline double RoutingLayerGauge::getDensity () const { return _density; }
177  inline DbU::Unit RoutingLayerGauge::getOffset () const { return _offset; }
178  inline DbU::Unit RoutingLayerGauge::getPitch () const { return _pitch; }
179  inline DbU::Unit RoutingLayerGauge::getHalfPitch () const { return _pitch>>1; }
180  inline DbU::Unit RoutingLayerGauge::getWireWidth () const { return _wireWidth; }
181  inline DbU::Unit RoutingLayerGauge::getHalfWireWidth () const { return _wireWidth>>1; }
182  inline DbU::Unit RoutingLayerGauge::getViaWidth () const { return _viaWidth; }
183  inline DbU::Unit RoutingLayerGauge::getHalfViaWidth () const { return _viaWidth>>1; }
184  inline DbU::Unit RoutingLayerGauge::getObstacleDw () const { return _obstacleDw; }
185  inline DbU::Unit RoutingLayerGauge::getTrackPosition ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const
186  { return getTrackPosition( start, getTrackIndex(start,stop,position,mode) ); }
187 
188 
189 // -------------------------------------------------------------------
190 // Class : "JsonRoutingLayerGauge".
191 
192  class JsonRoutingLayerGauge : public JsonObject {
193  public:
194  static void initialize ();
195  JsonRoutingLayerGauge ( unsigned long flags );
196  virtual string getTypeName () const;
197  virtual JsonRoutingLayerGauge* clone ( unsigned long flags ) const;
198  virtual void toData ( JsonStack& );
199  };
200 
201 
202 } // CRL namespace.
203 
204 
205 INSPECTOR_P_SUPPORT(CRL::RoutingLayerGauge);
206 
207 
208 // -------------------------------------------------------------------
209 // Inspector Support for : "const ::Constant::Direction*".
210 
211 
212 inline void from ( Constant::Direction& direction, const std::string& s )
213 {
214  if (s == "Vertical") direction = Constant::Vertical;
215  else {
216  if (s != "Horizontal")
217  std::cerr << Hurricane::Error( "::from(Direction&,string&): Unknown value \"%s\"."
218  , s.c_str() ) << std::endl;
219  direction = Constant::Horizontal;
220  }
221 }
222 
223 
224 template<>
225 inline std::string getString<const Constant::Direction*>
226  ( const Constant::Direction* direction )
227 {
228  switch ( *direction ) {
229  case Constant::Horizontal: return "Horizontal";
230  case Constant::Vertical: return "Vertical";
231  }
232  return "Unknown Constant::Direction";
233 }
234 
235 
236 template<>
237 inline std::string getString<Constant::Direction>
238  ( Constant::Direction direction )
239 {
240  switch ( direction ) {
241  case Constant::Horizontal: return "Horizontal";
242  case Constant::Vertical: return "Vertical";
243  }
244  return "Unknown Constant::Direction";
245 }
246 
247 
248 IOSTREAM_POINTER_SUPPORT(Constant::Direction);
249 
250 
251 // -------------------------------------------------------------------
252 // Inspector Support for : "const Constant::LayerGaugeType*".
253 
254 
255 inline void from ( Constant::LayerGaugeType& type, const std::string& s )
256 {
257  if (s == "PinOnly") type = Constant::PinOnly;
258  else {
259  if (s != "Default")
260  std::cerr << Hurricane::Error( "::from(LayerGaugeType&,string&): Unknown value \"%s\"."
261  , s.c_str() ) << std::endl;
262  type = Constant::Default;
263  }
264 }
265 
266 
267 template<>
268 inline std::string getString<const Constant::LayerGaugeType*>
269  ( const Constant::LayerGaugeType* layerGaugeType )
270 {
271  switch ( *layerGaugeType ) {
272  case Constant::Default: return "Default";
273  case Constant::PinOnly: return "PinOnly";
274  }
275  return "Unknown Constant::LayerGaugeType";
276 }
277 
278 
279 template<>
280 inline std::string getString<Constant::LayerGaugeType*>
281  ( Constant::LayerGaugeType* layerGaugeType )
282 { return getString<const Constant::LayerGaugeType*>(layerGaugeType); }
283 
284 
285 template<>
286 inline std::string getString<const Constant::LayerGaugeType>
287  ( const Constant::LayerGaugeType layerGaugeType )
288 {
289  switch ( layerGaugeType ) {
290  case Constant::Default: return "Default";
291  case Constant::PinOnly: return "PinOnly";
292  }
293  return "Unknown Constant::LayerGaugeType";
294 }
295 
296 
297 template<>
298 inline std::string getString<Constant::LayerGaugeType>
299  ( Constant::LayerGaugeType layerGaugeType )
300 { return getString<const Constant::LayerGaugeType>(layerGaugeType); }
301 
302 
303 IOSTREAM_POINTER_SUPPORT(Constant::LayerGaugeType);
304 
305 
306 #endif // CRL_ROUTING_LAYER_GAUGE_H
Store various constants.
Definition: RoutingLayerGauge.h:34
-
Superior
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | C o r e L i b r a r y |
+
9 // | |
+
10 // | Author : Jean-Paul CHAPUT |
+
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./RoutingLayerGauge.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_ROUTING_LAYER_GAUGE_H
+
18 #define CRL_ROUTING_LAYER_GAUGE_H
+
19 
+
20 
+
21 #include <map>
+
22 #include "hurricane/Commons.h"
+
23 #include "hurricane/Error.h"
+
24 #include "hurricane/DbU.h"
+
25 #include "hurricane/Collection.h"
+
26 #include "hurricane/Slot.h"
+
27 #include "crlcore/Utilities.h"
+
28 
+
29 namespace Hurricane {
+
30  class Layer;
+
31 }
+
32 
+
33 
+
34 namespace Constant {
+
35 
+
36  enum Direction { Horizontal = (1<<0)
+
37  , Vertical = (1<<1)
+
38  };
+
39 
+
40  enum LayerGaugeType { Default = (1<<0)
+
41  , PinOnly = (1<<1)
+
42  };
+
43 
+
44  enum Round { Superior = (1<<2)
+
45  , Inferior = (1<<3)
+
46  , Nearest = (1<<4)
+
47  , Exact = (1<<5)
+
48  };
+
49 
+
50  Direction perpandicular ( unsigned int );
+
51 
+
52 }
+
53 
+
54 
+
55 
+
56 namespace CRL {
+
57 
+
58  using std::map;
+ + + + + + +
65  using Hurricane::Record;
+
66  using Hurricane::DbU;
+
67  using Hurricane::Layer;
+
68 
+
69 
+
70  class RoutingGauge;
+
71 
+
72 
+
73 // -------------------------------------------------------------------
+
74 // Class : "RoutingLayerGauge".
+
75 
+
76 
+ +
78 
+
79  public:
+
80  // Constructors & Destructors.
+
81  static RoutingLayerGauge* create ( const Layer* layer
+
82  , Constant::Direction direction
+ +
84  , unsigned int depth
+
85  , double density
+
86  , DbU::Unit offset
+
87  , DbU::Unit pitch
+
88  , DbU::Unit wireWidth
+
89  , DbU::Unit viaWidth
+
90  , DbU::Unit obsDw );
+
91  virtual void destroy ();
+
92  // Accessors.
+
93  inline bool isHorizontal () const;
+
94  inline bool isVertical () const;
+
95  inline const Layer* getLayer () const;
+
96  inline const Layer* getBlockageLayer () const;
+
97  inline unsigned int getDepth () const;
+
98  inline Constant::Direction getDirection () const;
+
99  inline Constant::LayerGaugeType getType () const;
+
100  inline double getDensity () const;
+
101  inline DbU::Unit getOffset () const;
+
102  inline DbU::Unit getPitch () const;
+
103  inline DbU::Unit getHalfPitch () const;
+
104  inline DbU::Unit getWireWidth () const;
+
105  inline DbU::Unit getHalfWireWidth () const;
+
106  inline DbU::Unit getViaWidth () const;
+
107  inline DbU::Unit getHalfViaWidth () const;
+
108  inline DbU::Unit getObstacleDw () const;
+
109  void divide ( DbU::Unit dividend, long& quotient, long& modulo ) const;
+
110  unsigned int getTrackNumber ( DbU::Unit start, DbU::Unit stop ) const;
+
111  unsigned int getTrackIndex ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const;
+
112  inline DbU::Unit getTrackPosition ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const;
+
113  DbU::Unit getTrackPosition ( DbU::Unit start, unsigned depth ) const;
+
114  // Hurricane Managment.
+
115  void toJson ( JsonWriter* ) const;
+
116  virtual string _getTypeName () const;
+
117  virtual string _getString () const;
+
118  virtual Record* _getRecord () const;
+
119 
+
120  protected:
+
121  // Internal - Attributes.
+
122  const Layer* _layer;
+
123  const Layer* _blockageLayer;
+
124  Constant::Direction _direction;
+ +
126  unsigned int _depth;
+
127  double _density;
+
128  DbU::Unit _offset;
+
129  DbU::Unit _pitch;
+
130  DbU::Unit _wireWidth;
+
131  DbU::Unit _viaWidth;
+
132  DbU::Unit _obstacleDw;
+
133 
+
134  // Internal - Constructors & Destructors.
+
135  RoutingLayerGauge ( const Layer* layer
+
136  , Constant::Direction direction
+ +
138  , unsigned int depth
+
139  , double density
+
140  , DbU::Unit offset
+
141  , DbU::Unit pitch
+
142  , DbU::Unit wireWidth
+
143  , DbU::Unit viaWidth
+
144  , DbU::Unit obsDw );
+
145  virtual ~RoutingLayerGauge ();
+
146  virtual void _preDestroy();
+
147  RoutingLayerGauge& operator= ( const RoutingLayerGauge& );
+
148 
+
149  // Friends.
+
150  friend class RoutingGauge;
+
151  };
+
152 
+
153 
+
154  // New Types.
+
155  typedef map<Layer*,RoutingLayerGauge*> RoutingLayerGaugeMap;
+
156 
+
157 
+
158 // -------------------------------------------------------------------
+
159 // Collection : "RoutingLayerGauges".
+
160 
+ + + +
164 
+
165 
+
166 // -------------------------------------------------------------------
+
167 // Inline Functions.
+
168 
+
169  inline bool RoutingLayerGauge::isHorizontal () const { return (_direction == Constant::Direction::Horizontal); }
+
170  inline bool RoutingLayerGauge::isVertical () const { return (_direction == Constant::Direction::Vertical); }
+
171  inline const Layer* RoutingLayerGauge::getLayer () const { return _layer; }
+
172  inline const Layer* RoutingLayerGauge::getBlockageLayer () const { return _blockageLayer; }
+
173  inline Constant::Direction RoutingLayerGauge::getDirection () const { return _direction; }
+
174  inline Constant::LayerGaugeType RoutingLayerGauge::getType () const { return _type; }
+
175  inline unsigned int RoutingLayerGauge::getDepth () const { return _depth; }
+
176  inline double RoutingLayerGauge::getDensity () const { return _density; }
+
177  inline DbU::Unit RoutingLayerGauge::getOffset () const { return _offset; }
+
178  inline DbU::Unit RoutingLayerGauge::getPitch () const { return _pitch; }
+
179  inline DbU::Unit RoutingLayerGauge::getHalfPitch () const { return _pitch>>1; }
+
180  inline DbU::Unit RoutingLayerGauge::getWireWidth () const { return _wireWidth; }
+
181  inline DbU::Unit RoutingLayerGauge::getHalfWireWidth () const { return _wireWidth>>1; }
+
182  inline DbU::Unit RoutingLayerGauge::getViaWidth () const { return _viaWidth; }
+
183  inline DbU::Unit RoutingLayerGauge::getHalfViaWidth () const { return _viaWidth>>1; }
+
184  inline DbU::Unit RoutingLayerGauge::getObstacleDw () const { return _obstacleDw; }
+
185  inline DbU::Unit RoutingLayerGauge::getTrackPosition ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const
+
186  { return getTrackPosition( start, getTrackIndex(start,stop,position,mode) ); }
+
187 
+
188 
+
189 // -------------------------------------------------------------------
+
190 // Class : "JsonRoutingLayerGauge".
+
191 
+
192  class JsonRoutingLayerGauge : public JsonObject {
+
193  public:
+
194  static void initialize ();
+
195  JsonRoutingLayerGauge ( unsigned long flags );
+
196  virtual string getTypeName () const;
+
197  virtual JsonRoutingLayerGauge* clone ( unsigned long flags ) const;
+
198  virtual void toData ( JsonStack& );
+
199  };
+
200 
+
201 
+
202 } // CRL namespace.
+
203 
+
204 
+
205 INSPECTOR_P_SUPPORT(CRL::RoutingLayerGauge);
+
206 
+
207 
+
208 // -------------------------------------------------------------------
+
209 // Inspector Support for : "const ::Constant::Direction*".
+
210 
+
211 
+
212 inline void from ( Constant::Direction& direction, const std::string& s )
+
213 {
+
214  if (s == "Vertical") direction = Constant::Vertical;
+
215  else {
+
216  if (s != "Horizontal")
+
217  std::cerr << Hurricane::Error( "::from(Direction&,string&): Unknown value \"%s\"."
+
218  , s.c_str() ) << std::endl;
+
219  direction = Constant::Horizontal;
+
220  }
+
221 }
+
222 
+
223 
+
224 template<>
+
225 inline std::string getString<const Constant::Direction*>
+
226  ( const Constant::Direction* direction )
+
227 {
+
228  switch ( *direction ) {
+
229  case Constant::Horizontal: return "Horizontal";
+
230  case Constant::Vertical: return "Vertical";
+
231  }
+
232  return "Unknown Constant::Direction";
+
233 }
+
234 
+
235 
+
236 template<>
+
237 inline std::string getString<Constant::Direction>
+
238  ( Constant::Direction direction )
+
239 {
+
240  switch ( direction ) {
+
241  case Constant::Horizontal: return "Horizontal";
+
242  case Constant::Vertical: return "Vertical";
+
243  }
+
244  return "Unknown Constant::Direction";
+
245 }
+
246 
+
247 
+
248 IOSTREAM_POINTER_SUPPORT(Constant::Direction);
+
249 
+
250 
+
251 // -------------------------------------------------------------------
+
252 // Inspector Support for : "const Constant::LayerGaugeType*".
+
253 
+
254 
+
255 inline void from ( Constant::LayerGaugeType& type, const std::string& s )
+
256 {
+
257  if (s == "PinOnly") type = Constant::PinOnly;
+
258  else {
+
259  if (s != "Default")
+
260  std::cerr << Hurricane::Error( "::from(LayerGaugeType&,string&): Unknown value \"%s\"."
+
261  , s.c_str() ) << std::endl;
+
262  type = Constant::Default;
+
263  }
+
264 }
+
265 
+
266 
+
267 template<>
+
268 inline std::string getString<const Constant::LayerGaugeType*>
+
269  ( const Constant::LayerGaugeType* layerGaugeType )
+
270 {
+
271  switch ( *layerGaugeType ) {
+
272  case Constant::Default: return "Default";
+
273  case Constant::PinOnly: return "PinOnly";
+
274  }
+
275  return "Unknown Constant::LayerGaugeType";
+
276 }
+
277 
+
278 
+
279 template<>
+
280 inline std::string getString<Constant::LayerGaugeType*>
+
281  ( Constant::LayerGaugeType* layerGaugeType )
+
282 { return getString<const Constant::LayerGaugeType*>(layerGaugeType); }
+
283 
+
284 
+
285 template<>
+
286 inline std::string getString<const Constant::LayerGaugeType>
+
287  ( const Constant::LayerGaugeType layerGaugeType )
+
288 {
+
289  switch ( layerGaugeType ) {
+
290  case Constant::Default: return "Default";
+
291  case Constant::PinOnly: return "PinOnly";
+
292  }
+
293  return "Unknown Constant::LayerGaugeType";
+
294 }
+
295 
+
296 
+
297 template<>
+
298 inline std::string getString<Constant::LayerGaugeType>
+
299  ( Constant::LayerGaugeType layerGaugeType )
+
300 { return getString<const Constant::LayerGaugeType>(layerGaugeType); }
+
301 
+
302 
+
303 IOSTREAM_POINTER_SUPPORT(Constant::LayerGaugeType);
+
304 
+
305 
+
306 #endif // CRL_ROUTING_LAYER_GAUGE_H
+
DbU::Unit getHalfWireWidth() const
Definition: RoutingLayerGauge.h:181
+
virtual void destroy()
+
const Layer * getLayer() const
Definition: RoutingLayerGauge.h:171
+
DbU::Unit getOffset() const
Definition: RoutingLayerGauge.h:177
Round
Definition: RoutingLayerGauge.h:44
-
Nearest
-
Inferior
+
unsigned int getDepth() const
Definition: RoutingLayerGauge.h:175
+
Constant::Direction getDirection() const
Definition: RoutingLayerGauge.h:173
+
unsigned int getTrackNumber(DbU::Unit start, DbU::Unit stop) const
+
const Layer * getBlockageLayer() const
Definition: RoutingLayerGauge.h:172
std::int64_t Unit
+
double getDensity() const
Definition: RoutingLayerGauge.h:176
Direction
Definition: RoutingLayerGauge.h:36
Gauge for the detailed routing.
Definition: RoutingGauge.h:48
+
Constant::LayerGaugeType getType() const
Definition: RoutingLayerGauge.h:174
Definition: RoutingLayerGauge.h:41
+
Definition: RoutingLayerGauge.h:46
Definition: RoutingLayerGauge.h:40
+
static RoutingLayerGauge * create(const Layer *layer, Constant::Direction direction, Constant::LayerGaugeType type, unsigned int depth, double density, DbU::Unit offset, DbU::Unit pitch, DbU::Unit wireWidth, DbU::Unit viaWidth, DbU::Unit obsDw)
+
DbU::Unit getViaWidth() const
Definition: RoutingLayerGauge.h:182
+
unsigned int getTrackIndex(DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode) const
+
DbU::Unit getHalfViaWidth() const
Definition: RoutingLayerGauge.h:183
+
Definition: RoutingLayerGauge.h:45
LayerGaugeType
Definition: RoutingLayerGauge.h:40
+
DbU::Unit getWireWidth() const
Definition: RoutingLayerGauge.h:180
- +
void divide(DbU::Unit dividend, long &quotient, long &modulo) const
+
Definition: RoutingLayerGauge.h:44
+
DbU::Unit getHalfPitch() const
Definition: RoutingLayerGauge.h:179
Definition: RoutingLayerGauge.h:37
Definition: RoutingLayerGauge.h:36
Gauge of a Layer for the detailed routing.
Definition: RoutingLayerGauge.h:77
-
The namespace of Coriolis Core.
Definition: Environment.h:26
+
Definition: RoutingLayerGauge.h:47
+
DbU::Unit getPitch() const
Definition: RoutingLayerGauge.h:178


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/SearchPath_8h_source.html b/crlcore/doc/crlcore/html/SearchPath_8h_source.html index 3d1e277a..4fc3a0cd 100644 --- a/crlcore/doc/crlcore/html/SearchPath_8h_source.html +++ b/crlcore/doc/crlcore/html/SearchPath_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/SearchPath.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_SEARCH_PATH_H
18 #define CRL_SEARCH_PATH_H
19 
20 #include <string>
21 #include <vector>
22 #include "hurricane/Commons.h"
23 #include "hurricane/Slot.h"
24 
25 
26 namespace CRL {
27 
28  using Hurricane::Record;
29  using Hurricane::_TName;
30 
31 
32  class SearchPath {
33  public:
34  class Element {
35  public:
36  inline Element ( const std::string& path="", const std::string& name="" );
37  inline bool empty () const;
38  inline const std::string& getPath () const;
39  inline const std::string& getName () const;
40  inline std::string _getTypeName () const;
41  std::string _getString () const;
42  Record* _getRecord () const;
43  private:
44  std::string _path;
45  std::string _name;
46  };
47  public:
48  static const size_t npos;
49  static std::string extractLibName ( const std::string& );
50  SearchPath ();
51  public:
52  inline void reset ();
53  inline void append ( const std::string& path, const std::string& name="" );
54  void prepend ( const std::string& path, const std::string& name="");
55  void replace ( const std::string& path, const std::string&, size_t index );
56  void remove ( size_t index );
57  size_t locate ( const std::string& file
58  , std::ios::openmode mode =std::ios::in
59  , int first=0
60  , int last =64 );
61  void select ( const std::string& );
62  inline size_t getSize () const;
63  inline const std::string& getSelected () const;
64  inline size_t getIndex () const;
65  inline bool hasSelected () const;
66  size_t hasLib ( const std::string& name ) const;
67  size_t hasPath ( const std::string& path ) const;
68  const Element& operator[] ( size_t index ) const;
69  private:
70  static const std::string _selectFailed;
71  std::vector<Element> _paths;
72  size_t _index;
73  std::string _selected;
74  private:
75  SearchPath ( const SearchPath& );
76  bool _canOpen ( const Element& directory
77  , const std::string& file
78  , std::ios::openmode mode
79  );
80  public:
81  inline std::string _getTypeName () const;
82  std::string _getString () const;
83  Record* _getRecord () const;
84  };
85 
86 
87  // Inline Functions.
88  inline void SearchPath::reset () { _paths.resize(1); }
89  inline size_t SearchPath::getSize () const { return _paths.size(); }
90  inline const std::string& SearchPath::getSelected () const { return _selected; }
91  inline size_t SearchPath::getIndex () const { return _index; }
92  inline bool SearchPath::hasSelected () const { return _index != npos; }
93  inline std::string SearchPath::_getTypeName () const { return _TName("SearchPath"); }
94 
95  inline void SearchPath::append ( const std::string& path, const std::string& name ) {
96  _paths.push_back ( Element ( path, name.empty()?extractLibName(path):name ) );
97  }
98 
99  inline SearchPath::Element::Element ( const std::string& path, const std::string& name )
100  : _path(path)
101  , _name(name.empty()?SearchPath::extractLibName(path):name)
102  { }
103 
104  inline bool SearchPath::Element::empty () const { return _path.empty() and _name.empty(); }
105  inline const std::string& SearchPath::Element::getPath () const { return _path; }
106  inline const std::string& SearchPath::Element::getName () const { return _name; }
107  inline std::string SearchPath::Element::_getTypeName () const { return "SearchPath::Element"; }
108 
109 
110 } // CRL namespace.
111 
112 
113 INSPECTOR_P_SUPPORT(CRL::SearchPath);
114 INSPECTOR_V_SUPPORT(CRL::SearchPath::Element);
115 
116 
117 #endif // CRL_SEARCH_PATH_H
const std::string & getSelected() const
Definition: SearchPath.h:90
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul CHAPUT |
+
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/SearchPath.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 #ifndef CRL_SEARCH_PATH_H
+
18 #define CRL_SEARCH_PATH_H
+
19 
+
20 #include <string>
+
21 #include <vector>
+
22 #include "hurricane/Commons.h"
+
23 #include "hurricane/Slot.h"
+
24 
+
25 
+
26 namespace CRL {
+
27 
+
28  using Hurricane::Record;
+
29  using Hurricane::_TName;
+
30 
+
31 
+
32  class SearchPath {
+
33  public:
+
34  class Element {
+
35  public:
+
36  inline Element ( const std::string& path="", const std::string& name="" );
+
37  inline bool empty () const;
+
38  inline const std::string& getPath () const;
+
39  inline const std::string& getName () const;
+
40  inline std::string _getTypeName () const;
+
41  std::string _getString () const;
+
42  Record* _getRecord () const;
+
43  private:
+
44  std::string _path;
+
45  std::string _name;
+
46  };
+
47  public:
+
48  static const size_t npos;
+
49  static std::string extractLibName ( const std::string& );
+
50  SearchPath ();
+
51  public:
+
52  inline void reset ();
+
53  inline void append ( const std::string& path, const std::string& name="" );
+
54  void prepend ( const std::string& path, const std::string& name="");
+
55  void replace ( const std::string& path, const std::string&, size_t index );
+
56  void remove ( size_t index );
+
57  size_t locate ( const std::string& file
+
58  , std::ios::openmode mode =std::ios::in
+
59  , int first=0
+
60  , int last =64 );
+
61  void select ( const std::string& );
+
62  inline size_t getSize () const;
+
63  inline const std::string& getSelected () const;
+
64  inline size_t getIndex () const;
+
65  inline bool hasSelected () const;
+
66  size_t hasLib ( const std::string& name ) const;
+
67  size_t hasPath ( const std::string& path ) const;
+
68  const Element& operator[] ( size_t index ) const;
+
69  private:
+
70  static const std::string _selectFailed;
+
71  std::vector<Element> _paths;
+
72  size_t _index;
+
73  std::string _selected;
+
74  private:
+
75  SearchPath ( const SearchPath& );
+
76  bool _canOpen ( const Element& directory
+
77  , const std::string& file
+
78  , std::ios::openmode mode
+
79  );
+
80  public:
+
81  inline std::string _getTypeName () const;
+
82  std::string _getString () const;
+
83  Record* _getRecord () const;
+
84  };
+
85 
+
86 
+
87  // Inline Functions.
+
88  inline void SearchPath::reset () { _paths.resize(1); }
+
89  inline size_t SearchPath::getSize () const { return _paths.size(); }
+
90  inline const std::string& SearchPath::getSelected () const { return _selected; }
+
91  inline size_t SearchPath::getIndex () const { return _index; }
+
92  inline bool SearchPath::hasSelected () const { return _index != npos; }
+
93  inline std::string SearchPath::_getTypeName () const { return _TName("SearchPath"); }
+
94 
+
95  inline void SearchPath::append ( const std::string& path, const std::string& name ) {
+
96  _paths.push_back ( Element ( path, name.empty()?extractLibName(path):name ) );
+
97  }
+
98 
+
99  inline SearchPath::Element::Element ( const std::string& path, const std::string& name )
+
100  : _path(path)
+
101  , _name(name.empty()?SearchPath::extractLibName(path):name)
+
102  { }
+
103 
+
104  inline bool SearchPath::Element::empty () const { return _path.empty() and _name.empty(); }
+
105  inline const std::string& SearchPath::Element::getPath () const { return _path; }
+
106  inline const std::string& SearchPath::Element::getName () const { return _name; }
+
107  inline std::string SearchPath::Element::_getTypeName () const { return "SearchPath::Element"; }
+
108 
+
109 
+
110 } // CRL namespace.
+
111 
+
112 
+
113 INSPECTOR_P_SUPPORT(CRL::SearchPath);
+
114 INSPECTOR_V_SUPPORT(CRL::SearchPath::Element);
+
115 
+
116 
+
117 #endif // CRL_SEARCH_PATH_H
void reset()
Definition: SearchPath.h:88
static std::string extractLibName(const std::string &)
-
size_t getIndex() const
Definition: SearchPath.h:91
-
bool hasSelected() const
Definition: SearchPath.h:92
+
bool empty() const
Definition: SearchPath.h:104
+
const std::string & getPath() const
Definition: SearchPath.h:105
+
size_t getSize() const
Definition: SearchPath.h:89
+
const std::string & getName() const
Definition: SearchPath.h:106
+
size_t hasPath(const std::string &path) const
size_t locate(const std::string &file, std::ios::openmode mode=std::ios::in, int first=0, int last=64)
An element of the search path (mapping a directory).
Definition: SearchPath.h:34
-
size_t getSize() const
Definition: SearchPath.h:89
-
size_t hasPath(const std::string &path) const
+
const std::string & getSelected() const
Definition: SearchPath.h:90
An ordered list of search pathes.
Definition: SearchPath.h:32
+
bool hasSelected() const
Definition: SearchPath.h:92
+
const Element & operator[](size_t index) const
void prepend(const std::string &path, const std::string &name="")
-
bool empty() const
Definition: SearchPath.h:104
-
const std::string & getPath() const
Definition: SearchPath.h:105
-
const std::string & getName() const
Definition: SearchPath.h:106
-
The namespace of Coriolis Core.
Definition: Environment.h:26
+
size_t getIndex() const
Definition: SearchPath.h:91
void replace(const std::string &path, const std::string &, size_t index)
Element(const std::string &path="", const std::string &name="")
Definition: SearchPath.h:99
void append(const std::string &path, const std::string &name="")
Definition: SearchPath.h:95
-
const Element & operator[](size_t index) const


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/ToolEngine_8h_source.html b/crlcore/doc/crlcore/html/ToolEngine_8h_source.html index 855c49c8..b397897e 100644 --- a/crlcore/doc/crlcore/html/ToolEngine_8h_source.html +++ b/crlcore/doc/crlcore/html/ToolEngine_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul Chaput |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/ToolEngine.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 
18 #ifndef CRL_TOOL_ENGINE_H
19 #define CRL_TOOL_ENGINE_H
20 
21 #include <string>
22 #include <vector>
23 #include "hurricane/Commons.h"
24 #include "hurricane/Timer.h"
25 #include "hurricane/DBo.h"
26 #include "hurricane/Slot.h"
27 
28 namespace Hurricane {
29  class Name;
30  class Cell;
31 }
32 
33 #include "crlcore/ToolEngines.h"
34 
35 
36 namespace CRL {
37 
38  using std::string;
39  using std::vector;
40  using Hurricane::Timer;
41  using Hurricane::Record;
42  using Hurricane::Name;
43  using Hurricane::DBo;
44  using Hurricane::Cell;
45 
46 
47 // -------------------------------------------------------------------
48 // Class : "CRL::ToolEngine".
49 
50  class ToolEngine : public DBo {
51  public:
52  typedef DBo Super;
53  public:
54  static ToolEngines get ( const Cell* cell );
55  static ToolEngine* get ( const Cell* cell, const Name& name );
56  static void destroyAll ();
57  static bool inDestroyAll ();
58  public:
59  virtual const Name& getName () const = 0;
60  inline Cell* getCell () const;
61  bool placementModificationFlagHasChanged ();
62  bool routingModificationFlagHasChanged ();
63  inline void setInRelationDestroy ( bool );
64  inline const Timer& getTimer () const;
65  void startMeasures ();
66  void stopMeasures ();
67  void suspendMeasures ();
68  void resumeMeasures ();
69  void printMeasures () const;
70  virtual string _getTypeName () const;
71  virtual string _getString () const;
72  virtual Record* _getRecord () const;
73  private:
74  static bool _inDestroyAll;
75  protected:
76  Cell* _cell;
77  private:
78  unsigned int _placementModificationFlag;
79  unsigned int _routingModificationFlag;
80  bool _inRelationDestroy;
81  Timer _timer;
82  protected:
83  ToolEngine ( Cell* cell );
84  virtual void _postCreate ();
85  virtual void _preDestroy ();
86  protected:
87  void grabPlacementModificationFlag ();
88  void getPlacementModificationFlag ();
89  void grabRoutingModificationFlag ();
90  void getRoutingModificationFlag ();
91  };
92 
93 
94 // -------------------------------------------------------------------
95 // Inline Functions.
96 
97 
98  inline Cell* ToolEngine::getCell () const { return _cell; }
99  inline void ToolEngine::setInRelationDestroy ( bool state ) { _inRelationDestroy = state; }
100  inline const Timer& ToolEngine::getTimer () const { return _timer; }
101 
102 
103 } // CRL namespace.
104 
105 #endif // CRL_TOOL_ENGINE_H
+
1 // -*- C++ -*-
+
2 //
+
3 // This file is part of the Coriolis Software.
+
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
+
5 //
+
6 // +-----------------------------------------------------------------+
+
7 // | C O R I O L I S |
+
8 // | Alliance / Hurricane Interface |
+
9 // | |
+
10 // | Author : Jean-Paul Chaput |
+
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
+
12 // | =============================================================== |
+
13 // | C++ Header : "./crlcore/ToolEngine.h" |
+
14 // +-----------------------------------------------------------------+
+
15 
+
16 
+
17 
+
18 #ifndef CRL_TOOL_ENGINE_H
+
19 #define CRL_TOOL_ENGINE_H
+
20 
+
21 #include <string>
+
22 #include <vector>
+
23 #include "hurricane/Commons.h"
+
24 #include "hurricane/Timer.h"
+
25 #include "hurricane/DBo.h"
+
26 #include "hurricane/Slot.h"
+
27 
+
28 namespace Hurricane {
+
29  class Name;
+
30  class Cell;
+
31 }
+
32 
+
33 #include "crlcore/ToolEngines.h"
+
34 
+
35 
+
36 namespace CRL {
+
37 
+
38  using std::string;
+
39  using std::vector;
+
40  using Hurricane::Timer;
+
41  using Hurricane::Record;
+
42  using Hurricane::Name;
+
43  using Hurricane::DBo;
+
44  using Hurricane::Cell;
+
45 
+
46 
+
47 // -------------------------------------------------------------------
+
48 // Class : "CRL::ToolEngine".
+
49 
+
50  class ToolEngine : public DBo {
+
51  public:
+
52  typedef DBo Super;
+
53  public:
+
54  static ToolEngines get ( const Cell* cell );
+
55  static ToolEngine* get ( const Cell* cell, const Name& name );
+
56  static void destroyAll ();
+
57  static bool inDestroyAll ();
+
58  public:
+
59  virtual const Name& getName () const = 0;
+
60  inline Cell* getCell () const;
+
61  bool placementModificationFlagHasChanged ();
+
62  bool routingModificationFlagHasChanged ();
+
63  inline void setInRelationDestroy ( bool );
+
64  inline const Timer& getTimer () const;
+
65  void startMeasures ();
+
66  void stopMeasures ();
+
67  void suspendMeasures ();
+
68  void resumeMeasures ();
+
69  void printMeasures () const;
+
70  virtual string _getTypeName () const;
+
71  virtual string _getString () const;
+
72  virtual Record* _getRecord () const;
+
73  private:
+
74  static bool _inDestroyAll;
+
75  protected:
+
76  Cell* _cell;
+
77  private:
+
78  unsigned int _placementModificationFlag;
+
79  unsigned int _routingModificationFlag;
+
80  bool _inRelationDestroy;
+
81  Timer _timer;
+
82  protected:
+
83  ToolEngine ( Cell* cell );
+
84  virtual void _postCreate ();
+
85  virtual void _preDestroy ();
+
86  protected:
+
87  void grabPlacementModificationFlag ();
+
88  void getPlacementModificationFlag ();
+
89  void grabRoutingModificationFlag ();
+
90  void getRoutingModificationFlag ();
+
91  };
+
92 
+
93 
+
94 // -------------------------------------------------------------------
+
95 // Inline Functions.
+
96 
+
97 
+
98  inline Cell* ToolEngine::getCell () const { return _cell; }
+
99  inline void ToolEngine::setInRelationDestroy ( bool state ) { _inRelationDestroy = state; }
+
100  inline const Timer& ToolEngine::getTimer () const { return _timer; }
+
101 
+
102 
+
103 } // CRL namespace.
+
104 
+
105 #endif // CRL_TOOL_ENGINE_H
+
virtual const Name & getName() const =0
+ +
static void destroyAll()
Base Class of all Coriolis Tools.
Definition: ToolEngine.h:50
- -
The namespace of Coriolis Core.
Definition: Environment.h:26


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/ToolEngines_8h_source.html b/crlcore/doc/crlcore/html/ToolEngines_8h_source.html index 0f36c723..bf4ea18f 100644 --- a/crlcore/doc/crlcore/html/ToolEngines_8h_source.html +++ b/crlcore/doc/crlcore/html/ToolEngines_8h_source.html @@ -24,15 +24,21 @@ -->
- - - - - + + +
-
1 
2 
3 // This file is part of the Coriolis Project.
4 // Copyright (C) Laboratoire LIP6 - Departement ASIM
5 // Universite Pierre et Marie Curie
6 //
7 // Main contributors :
8 // Christophe Alexandre <Christophe.Alexandre@lip6.fr>
9 // Sophie Belloeil <Sophie.Belloeil@lip6.fr>
10 // Hugo Clément <Hugo.Clement@lip6.fr>
11 // Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
12 // Damien Dupuis <Damien.Dupuis@lip6.fr>
13 // Christian Masson <Christian.Masson@lip6.fr>
14 // Marek Sroka <Marek.Sroka@lip6.fr>
15 //
16 // The Coriolis Project is free software; you can redistribute it
17 // and/or modify it under the terms of the GNU General Public License
18 // as published by the Free Software Foundation; either version 2 of
19 // the License, or (at your option) any later version.
20 //
21 // The Coriolis Project is distributed in the hope that it will be
22 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
23 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 // GNU General Public License for more details.
25 //
26 // You should have received a copy of the GNU General Public License
27 // along with the Coriolis Project; if not, write to the Free Software
28 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
29 // USA
30 //
31 // License-Tag
32 // Authors-Tag
33 // ===================================================================
34 
35 
36 # ifndef __CRL_TOOL_ENGINES_H__
37 # define __CRL_TOOL_ENGINES_H__
38 
39 # include "hurricane/Collection.h"
40 
41 
42 namespace CRL {
43 
44 
48 
49 
50  class ToolEngine;
51 
52 
56 
57 # define for_each_toolengine(toolEngine, toolEngines) { \
58  ToolEngineLocator _locator = toolEngines.getLocator(); \
59  while ( _locator.isValid() ) { \
60  ToolEngine* toolEngine = _locator.getElement(); \
61  _locator.progress();
62 
63 }
64 
65 
66 #endif // __CENGINES_H
+
1 
+
2 
+
3 // This file is part of the Coriolis Project.
+
4 // Copyright (C) Laboratoire LIP6 - Departement ASIM
+
5 // Universite Pierre et Marie Curie
+
6 //
+
7 // Main contributors :
+
8 // Christophe Alexandre <Christophe.Alexandre@lip6.fr>
+
9 // Sophie Belloeil <Sophie.Belloeil@lip6.fr>
+
10 // Hugo Clément <Hugo.Clement@lip6.fr>
+
11 // Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
+
12 // Damien Dupuis <Damien.Dupuis@lip6.fr>
+
13 // Christian Masson <Christian.Masson@lip6.fr>
+
14 // Marek Sroka <Marek.Sroka@lip6.fr>
+
15 //
+
16 // The Coriolis Project is free software; you can redistribute it
+
17 // and/or modify it under the terms of the GNU General Public License
+
18 // as published by the Free Software Foundation; either version 2 of
+
19 // the License, or (at your option) any later version.
+
20 //
+
21 // The Coriolis Project is distributed in the hope that it will be
+
22 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+
23 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+
24 // GNU General Public License for more details.
+
25 //
+
26 // You should have received a copy of the GNU General Public License
+
27 // along with the Coriolis Project; if not, write to the Free Software
+
28 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+
29 // USA
+
30 //
+
31 // License-Tag
+
32 // Authors-Tag
+
33 // ===================================================================
+
34 
+
35 
+
36 # ifndef __CRL_TOOL_ENGINES_H__
+
37 # define __CRL_TOOL_ENGINES_H__
+
38 
+
39 # include "hurricane/Collection.h"
+
40 
+
41 
+
42 namespace CRL {
+
43 
+
44 
+ + + +
48 
+
49 
+
50  class ToolEngine;
+
51 
+
52 
+ + + +
56 
+
57 # define for_each_toolengine(toolEngine, toolEngines) { \
+
58  ToolEngineLocator _locator = toolEngines.getLocator(); \
+
59  while ( _locator.isValid() ) { \
+
60  ToolEngine* toolEngine = _locator.getElement(); \
+
61  _locator.progress();
+
62 
+
63 }
+
64 
+
65 
+
66 #endif // __CENGINES_H
+
Base Class of all Coriolis Tools.
Definition: ToolEngine.h:50
GenericLocator< ToolEngine * > ToolEngineLocator
Definition: ToolEngines.h:54
GenericFilter< ToolEngine * > ToolEngineFilter
Definition: ToolEngines.h:55
GenericCollection< ToolEngine * > ToolEngines
Definition: ToolEngines.h:50
-
The namespace of Coriolis Core.
Definition: Environment.h:26


- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/annotated.html b/crlcore/doc/crlcore/html/annotated.html index 5ea64e64..06ec7312 100644 --- a/crlcore/doc/crlcore/html/annotated.html +++ b/crlcore/doc/crlcore/html/annotated.html @@ -24,15 +24,24 @@ -->
- - - - - + + +
@@ -41,21 +50,22 @@ $(function() {
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
 NCRLThe namespace of Coriolis Core
 CAcmSigdaA Parser of ACM/Sigda 89' benchmarks
 CAllianceFrameworkA Framework to work with Alliance formats
 CAllianceLibraryA small wrapper around Hurricane::Library
 CBannerPrint Formatted Banners (on ttys)
 CCatalogA Registry to store Alliance Cell metadatas
 CStateAn entry to store the Cell State in the Catalog
 CCatalogExtensionWrapper to access a Hurricane::Cell Catalog::State
 CEnvironmentHolds all the Alliance environment variables
 CGraphicToolBase Class to Hook ToolEngines into the CellViewer
 CRoutingGaugeGauge for the detailed routing
 CRoutingLayerGaugeGauge of a Layer for the detailed routing
 CSearchPathAn ordered list of search pathes
 CElementAn element of the search path (mapping a directory)
 CToolEngineBase Class of all Coriolis Tools
oNConstantStore various constants
\NCRLThe namespace of Coriolis Core
 oCEnvironmentHolds all the Alliance environment variables
 oCBannerPrint Formatted Banners (on ttys)
 oCCatalogA Registry to store Alliance Cell metadatas
 |\CStateAn entry to store the Cell State in the Catalog
 oCCatalogExtensionWrapper to access a Hurricane::Cell Catalog::State
 oCSearchPathAn ordered list of search pathes
 |\CElementAn element of the search path (mapping a directory)
 oCAllianceLibraryA small wrapper around Hurricane::Library
 oCRoutingLayerGaugeGauge of a Layer for the detailed routing
 oCRoutingGaugeGauge for the detailed routing
 oCAllianceFrameworkA Framework to work with Alliance formats
 oCAcmSigdaA Parser of ACM/Sigda 89' benchmarks
 oCToolEngineBase Class of all Coriolis Tools
 \CGraphicToolBase Class to Hook ToolEngines into the CellViewer
@@ -63,7 +73,7 @@ $(function() {
- +
Generated by doxygen 1.8.13 on Mon May 14 2018Generated by doxygen 1.8.5 on Sat Aug 18 2018 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html b/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html index 6395d7e1..fa9c75a4 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html @@ -24,15 +24,24 @@ -->
- - - - - + + +