From a50b6ce31726268b270b324349b70d69502cf017 Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Wed, 8 Apr 2020 11:24:42 +0200 Subject: [PATCH] More PEP8 compliant Python code. Start rewrite Python/C++ wrappers. * Change: In CRL/helpers, cumulus/plugins, oroshi & karakaze, Move towards more Python PEP8 compliance: * All indentations sets to 4 spaces (in progress). * In plugins, remove messages about software collections and RHEL (too many case could wrongly lead to that). Instead systematically uses "helpers.io.catch()". * Put in lowercases all modules names. Note that C++ exported modules *keep* their Capitalized names (to preserve the identity with the C++ namespace). * When making import, use full path. * Rename the run function from "ScriptMain()" to "scriptMain()". * Cleanup: In CRL/etc, remove obsoleted configuration files, the one ending in ".conf". Keep those who have not been ported to the new style yet. * New: In Hurricane/src/configuration, first trial at replacing the C preprocessor macros by C++ templates. Applied first to configuration from VLSISAPD. This is unfinished business, just a limited demonstrator for now. It is installed as a separate Python library "Cfg2" which do not interact with the rest of Coriiolis. The end goal is to fully remove boost and merge VLSISAPD useful components directly inside Hurricane. --- bootstrap/cmake_modules/FindLEFDEF.cmake | 2 +- .../docker/debian-10/Dockerfile.coriolis | 2 +- bootstrap/docker/debian-10/Dockerfile.system | 2 +- .../doc/crlcore/html/AcmSigda_8h_source.html | 74 +- .../html/AllianceFramework_8h_source.html | 276 +- .../html/AllianceLibrary_8h_source.html | 129 +- .../doc/crlcore/html/Banner_8h_source.html | 237 +- .../doc/crlcore/html/Catalog_8h_source.html | 571 +++- .../crlcore/html/Environment_8h_source.html | 235 +- .../html/GraphicToolEngine_8h_source.html | 142 +- .../crlcore/html/RoutingGauge_8h_source.html | 215 +- .../html/RoutingLayerGauge_8h_source.html | 368 ++- .../crlcore/html/SearchPath_8h_source.html | 164 +- .../crlcore/html/ToolEngine_8h_source.html | 167 +- .../crlcore/html/ToolEngines_8h_source.html | 96 +- crlcore/doc/crlcore/html/annotated.html | 61 +- .../html/classCRL_1_1AcmSigda-members.html | 30 +- .../crlcore/html/classCRL_1_1AcmSigda.html | 37 +- ...classCRL_1_1AllianceFramework-members.html | 83 +- .../html/classCRL_1_1AllianceFramework.html | 212 +- .../classCRL_1_1AllianceLibrary-members.html | 34 +- .../html/classCRL_1_1AllianceLibrary.html | 54 +- .../html/classCRL_1_1Banner-members.html | 44 +- .../doc/crlcore/html/classCRL_1_1Banner.html | 121 +- .../html/classCRL_1_1Catalog-members.html | 30 +- .../doc/crlcore/html/classCRL_1_1Catalog.html | 64 +- .../classCRL_1_1CatalogExtension-members.html | 48 +- .../html/classCRL_1_1CatalogExtension.html | 208 +- .../classCRL_1_1Catalog_1_1State-members.html | 73 +- .../html/classCRL_1_1Catalog_1_1State.html | 303 +- .../html/classCRL_1_1Environment-members.html | 72 +- .../crlcore/html/classCRL_1_1Environment.html | 303 +- .../html/classCRL_1_1GraphicTool-members.html | 30 +- .../crlcore/html/classCRL_1_1GraphicTool.html | 42 +- .../classCRL_1_1RoutingGauge-members.html | 56 +- .../html/classCRL_1_1RoutingGauge.html | 151 +- ...classCRL_1_1RoutingLayerGauge-members.html | 62 +- .../html/classCRL_1_1RoutingLayerGauge.html | 168 +- .../html/classCRL_1_1SearchPath-members.html | 42 +- .../crlcore/html/classCRL_1_1SearchPath.html | 108 +- ...sCRL_1_1SearchPath_1_1Element-members.html | 36 +- .../classCRL_1_1SearchPath_1_1Element.html | 58 +- .../html/classCRL_1_1ToolEngine-members.html | 36 +- .../crlcore/html/classCRL_1_1ToolEngine.html | 46 +- crlcore/doc/crlcore/html/classes.html | 52 +- crlcore/doc/crlcore/html/crlcore.tag | 2489 ++++++++--------- .../dir_1d3beb215ce2defdb52d6dee9d41bc7a.html | 24 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 28 +- .../dir_d23e13494685c82fafa9ef5abb5746af.html | 50 +- crlcore/doc/crlcore/html/dynsections.js | 81 +- crlcore/doc/crlcore/html/files.html | 51 +- crlcore/doc/crlcore/html/functions.html | 67 +- crlcore/doc/crlcore/html/functions_0x62.html | 2 +- crlcore/doc/crlcore/html/functions_0x63.html | 2 +- crlcore/doc/crlcore/html/functions_0x64.html | 3 +- crlcore/doc/crlcore/html/functions_0x65.html | 2 +- crlcore/doc/crlcore/html/functions_0x66.html | 5 +- crlcore/doc/crlcore/html/functions_0x67.html | 5 +- crlcore/doc/crlcore/html/functions_0x68.html | 2 +- crlcore/doc/crlcore/html/functions_0x69.html | 18 +- crlcore/doc/crlcore/html/functions_0x6c.html | 2 +- crlcore/doc/crlcore/html/functions_0x6d.html | 2 +- crlcore/doc/crlcore/html/functions_0x6f.html | 2 +- crlcore/doc/crlcore/html/functions_0x70.html | 2 +- crlcore/doc/crlcore/html/functions_0x72.html | 8 +- crlcore/doc/crlcore/html/functions_0x73.html | 16 +- crlcore/doc/crlcore/html/functions_0x76.html | 2 +- crlcore/doc/crlcore/html/functions_0x7e.html | 61 +- crlcore/doc/crlcore/html/functions_enum.html | 38 +- crlcore/doc/crlcore/html/functions_eval.html | 41 +- crlcore/doc/crlcore/html/functions_func.html | 295 +- crlcore/doc/crlcore/html/hierarchy.html | 60 +- crlcore/doc/crlcore/html/index.html | 22 +- crlcore/doc/crlcore/html/jquery.js | 104 +- crlcore/doc/crlcore/html/namespaceCRL.html | 107 +- .../doc/crlcore/html/namespaceConstant.html | 86 +- .../doc/crlcore/html/namespacemembers.html | 36 +- .../crlcore/html/namespacemembers_enum.html | 36 +- .../crlcore/html/namespacemembers_eval.html | 36 +- .../crlcore/html/namespacemembers_type.html | 36 +- crlcore/doc/crlcore/html/namespaces.html | 32 +- crlcore/doc/crlcore/html/nav_g.png | Bin 95 -> 108 bytes crlcore/doc/crlcore/html/pages.html | 2 +- crlcore/doc/crlcore/latex/Makefile | 2 +- crlcore/doc/crlcore/latex/annotated.tex | 30 +- .../crlcore/latex/classCRL_1_1AcmSigda.tex | 63 +- .../latex/classCRL_1_1AllianceFramework.tex | 534 ++-- .../latex/classCRL_1_1AllianceLibrary.tex | 80 +- .../doc/crlcore/latex/classCRL_1_1Banner.tex | 243 +- .../doc/crlcore/latex/classCRL_1_1Catalog.tex | 148 +- .../latex/classCRL_1_1CatalogExtension.tex | 360 +-- .../latex/classCRL_1_1Catalog_1_1State.tex | 530 ++-- .../crlcore/latex/classCRL_1_1Environment.tex | 679 ++--- .../crlcore/latex/classCRL_1_1GraphicTool.tex | 53 +- .../latex/classCRL_1_1RoutingGauge.tex | 262 +- .../latex/classCRL_1_1RoutingLayerGauge.tex | 308 +- .../crlcore/latex/classCRL_1_1SearchPath.tex | 208 +- .../classCRL_1_1SearchPath_1_1Element.tex | 72 +- .../crlcore/latex/classCRL_1_1ToolEngine.tex | 78 +- crlcore/doc/crlcore/latex/doxygen.sty | 171 +- crlcore/doc/crlcore/latex/hierarchy.tex | 32 +- crlcore/doc/crlcore/latex/namespaceCRL.tex | 99 +- .../doc/crlcore/latex/namespaceConstant.tex | 127 +- crlcore/doc/crlcore/latex/namespaces.tex | 6 +- crlcore/doc/crlcore/latex/refman.tex | 10 +- crlcore/etc/180/scn6m_deep_09/alliance.conf | 39 - crlcore/etc/180/scn6m_deep_09/analog.conf | 6 - crlcore/etc/180/scn6m_deep_09/devices.conf | 6 - crlcore/etc/180/scn6m_deep_09/display.conf | 11 - .../180/scn6m_deep_09/dtr_scn6m_deep_09.py | 164 -- crlcore/etc/180/scn6m_deep_09/etesian.conf | 5 - crlcore/etc/180/scn6m_deep_09/hMetis.conf | 5 - crlcore/etc/180/scn6m_deep_09/kite.conf | 67 - crlcore/etc/180/scn6m_deep_09/mauka.conf | 5 - crlcore/etc/180/scn6m_deep_09/misc.conf | 9 - crlcore/etc/180/scn6m_deep_09/nimbus.conf | 5 - crlcore/etc/180/scn6m_deep_09/patterns.conf | 5 - crlcore/etc/180/scn6m_deep_09/plugins.conf | 27 - crlcore/etc/180/scn6m_deep_09/stratus1.conf | 13 - crlcore/etc/180/scn6m_deep_09/technology.conf | 242 -- crlcore/etc/CMakeLists.txt | 3 - crlcore/etc/node180/scn6m_deep_09/devices.py | 16 +- .../scn6m_deep_09/dtr_scn6m_deep_09.py | 8 +- crlcore/etc/symbolic/cmos/alliance.conf | 46 - crlcore/etc/symbolic/cmos/analog.conf | 10 - crlcore/etc/symbolic/cmos/display.conf | 10 - crlcore/etc/symbolic/cmos/etesian.conf | 5 - crlcore/etc/symbolic/cmos/hMetis.conf | 5 - crlcore/etc/symbolic/cmos/kite.conf | 84 - crlcore/etc/symbolic/cmos/mauka.conf | 5 - crlcore/etc/symbolic/cmos/misc.conf | 9 - crlcore/etc/symbolic/cmos/nimbus.conf | 5 - crlcore/etc/symbolic/cmos/patterns.conf | 5 - crlcore/etc/symbolic/cmos/plugins.conf | 20 - crlcore/etc/symbolic/cmos/stratus1.conf | 14 - crlcore/etc/symbolic/cmos/technology.conf | 62 - crlcore/etc/symbolic/cmos45/alliance.conf | 39 - crlcore/etc/symbolic/cmos45/analog.conf | 6 - crlcore/etc/symbolic/cmos45/devices.conf | 6 - crlcore/etc/symbolic/cmos45/display.conf | 11 - crlcore/etc/symbolic/cmos45/etesian.conf | 5 - crlcore/etc/symbolic/cmos45/hMetis.conf | 5 - crlcore/etc/symbolic/cmos45/kite.conf | 88 - crlcore/etc/symbolic/cmos45/mauka.conf | 5 - crlcore/etc/symbolic/cmos45/misc.conf | 9 - crlcore/etc/symbolic/cmos45/nimbus.conf | 5 - crlcore/etc/symbolic/cmos45/patterns.conf | 5 - crlcore/etc/symbolic/cmos45/plugins.conf | 23 - crlcore/etc/symbolic/cmos45/stratus1.conf | 13 - crlcore/etc/symbolic/cmos45/technology.conf | 242 -- crlcore/etc/symbolic/phenitec06/alliance.conf | 39 - crlcore/etc/symbolic/phenitec06/analog.conf | 6 - crlcore/etc/symbolic/phenitec06/devices.conf | 6 - crlcore/etc/symbolic/phenitec06/display.conf | 11 - crlcore/etc/symbolic/phenitec06/etesian.conf | 5 - crlcore/etc/symbolic/phenitec06/hMetis.conf | 5 - crlcore/etc/symbolic/phenitec06/kite.conf | 96 - crlcore/etc/symbolic/phenitec06/mauka.conf | 5 - crlcore/etc/symbolic/phenitec06/misc.conf | 9 - crlcore/etc/symbolic/phenitec06/nimbus.conf | 5 - crlcore/etc/symbolic/phenitec06/patterns.conf | 5 - crlcore/etc/symbolic/phenitec06/plugins.conf | 23 - crlcore/etc/symbolic/phenitec06/stratus1.conf | 13 - .../etc/symbolic/phenitec06/technology.conf | 242 -- crlcore/etc/techno.conf | 3 - crlcore/python/CMakeLists.txt | 11 +- crlcore/python/coriolisInit.py | 219 -- crlcore/python/helpers/Alliance.py | 216 -- crlcore/python/helpers/Configuration.py | 206 -- crlcore/python/helpers/Debug.py | 98 - crlcore/python/helpers/Devices.py | 104 - crlcore/python/helpers/Display.py | 287 -- crlcore/python/helpers/Patterns.py | 576 ---- crlcore/python/helpers/Technology.py | 430 --- crlcore/python/helpers/__init__.py | 444 +-- .../{AnalogTechno.py => analogtechno.py} | 19 +- crlcore/python/helpers/etesian.py | 27 - crlcore/python/helpers/hMetis.py | 56 - crlcore/python/helpers/kite.py | 69 - crlcore/python/helpers/mauka.py | 47 - crlcore/python/helpers/misc.py | 33 - crlcore/python/helpers/nimbus.py | 14 - crlcore/python/helpers/overlay.py | 73 + cumulus/src/CMakeLists.txt | 44 +- cumulus/src/plugins/AboutWindow.py | 184 -- cumulus/src/plugins/ChipPlace.py | 83 - cumulus/src/plugins/ChipRoute.py | 87 - cumulus/src/plugins/ClockTreePlugin.py | 119 - cumulus/src/plugins/ConductorPlugin.py | 172 -- cumulus/src/plugins/__init__.py | 250 +- cumulus/src/plugins/aboutwindow.py | 169 ++ .../plugins/{clocktree => block}/__init__.py | 0 cumulus/src/plugins/block/vchannels.py | 130 + cumulus/src/plugins/chip/__init__.py | 2 +- .../chip/{BlockCorona.py => blockcorona.py} | 56 +- .../chip/{BlockPower.py => blockpower.py} | 8 +- cumulus/src/plugins/chip/{Chip.py => chip.py} | 114 +- .../{Configuration.py => configuration.py} | 85 +- .../chip/{PadsCorona.py => padscorona.py} | 60 +- cumulus/src/plugins/chipplace.py | 63 + cumulus/src/plugins/chiproute.py | 67 + cumulus/src/plugins/clocktree.py | 98 + cumulus/src/plugins/conductor.py | 171 ++ cumulus/src/plugins/core2chip/cmos.py | 6 +- .../core2chip/{CoreToChip.py => core2chip.py} | 30 +- cumulus/src/plugins/core2chip/phlib.py | 6 +- cumulus/src/plugins/core2chip/phlib80.py | 4 +- .../{CoreToChip_cmos.py => core2chip_cmos.py} | 12 +- ...ToChip_phlib80.py => core2chip_phlib80.py} | 6 +- cumulus/src/plugins/cts/__init__.py | 0 .../ClockTree.py => cts/clocktree.py} | 96 +- .../{clocktree/RSMT.py => cts/rsmt.py} | 66 +- .../src/plugins/{RSavePlugin.py => rsave.py} | 42 +- .../{RSavePluginAll.py => rsaveall.py} | 42 +- cumulus/src/plugins/{S2R.py => s2r.py} | 51 +- cumulus/src/plugins/vchannels.py | 88 + cumulus/src/tools/px2mpx.py | 4 +- hurricane/src/CMakeLists.txt | 1 + hurricane/src/configuration/CMakeLists.txt | 63 + .../src/configuration/ConfEditorWidget.cpp | 83 + hurricane/src/configuration/ConfTabWidget.cpp | 180 ++ hurricane/src/configuration/Configuration.cpp | 168 ++ hurricane/src/configuration/Configuration.qrc | 6 + .../src/configuration/ConfigurationDialog.cpp | 47 + .../src/configuration/ConfigurationWidget.cpp | 327 +++ .../src/configuration/LayoutDescription.cpp | 193 ++ hurricane/src/configuration/LogWidget.cpp | 154 + hurricane/src/configuration/Parameter.cpp | 365 +++ .../src/configuration/ParameterWidget.cpp | 366 +++ hurricane/src/configuration/PyCfg.cpp | 100 + .../src/configuration/PyConfiguration.cpp | 106 + hurricane/src/configuration/PyHurricane2.cpp | 70 + hurricane/src/configuration/PyParameter.cpp | 106 + .../configuration/ConfEditorWidget.h | 51 + .../hurricane/configuration/ConfTabWidget.h | 62 + .../hurricane/configuration/Configuration.h | 235 ++ .../configuration/ConfigurationDialog.h | 36 + .../configuration/ConfigurationWidget.h | 117 + .../hurricane/configuration/FilePathEdit.h | 47 + .../configuration/LayoutDescription.h | 200 ++ .../hurricane/configuration/LogWidget.h | 41 + .../hurricane/configuration/Parameter.h | 227 ++ .../hurricane/configuration/ParameterWidget.h | 73 + .../hurricane/configuration/PyConfiguration.h | 48 + .../hurricane/configuration/PyHurricane2.h | 479 ++++ .../hurricane/configuration/PyParameter.h | 55 + hurricane/src/configuration/images/choose.png | Bin 0 -> 1296 bytes .../src/configuration/images/warning.png | Bin 0 -> 2514 bytes hurricane/src/isobar/CMakeLists.txt | 1 + hurricane/src/isobar/PyHorizontal.cpp | 18 +- hurricane/src/viewer/CellViewer.cpp | 2 +- karakaze/python/CMakeLists.txt | 4 +- .../{AnalogDesign.py => analogdesign.py} | 4 +- karakaze/python/{Oceane.py => oceane.py} | 0 oroshi/python/CMakeLists.txt | 30 +- oroshi/python/MultiCapacitor.py | 175 -- oroshi/python/Resistor.py | 80 - oroshi/python/Resistor1.py | 758 ----- oroshi/python/__init__.py | 4 +- oroshi/python/capacitor.vst | 29 - ...{CapacitorMatrix.py => capacitormatrix.py} | 4 +- ...{CapacitorRouted.py => capacitorrouted.py} | 8 +- ...utedSingle.py => capacitorroutedsingle.py} | 6 +- .../{CapacitorUnit.py => capacitorunit.py} | 2 +- ...acitorVRTracks.py => capacitorvrtracks.py} | 6 +- oroshi/python/{Rules.py => dtr.py} | 0 oroshi/python/multicapacitor.py | 174 ++ ...onUnitCapacitor.py => nonunitcapacitor.py} | 4 +- .../{ParamsMatrix.py => paramsmatrix.py} | 0 oroshi/python/resistor.py | 80 + .../{ResistorSnake.py => resistorsnake.py} | 2 +- oroshi/python/{Stack.py => stack.py} | 0 oroshi/python/{WIP_CSP.py => wip_csp.py} | 15 +- oroshi/python/{WIP_DP.py => wip_dp.py} | 15 +- .../{WIP_Transistor.py => wip_transistor.py} | 46 +- tutorial/python/runDemo.py | 2 +- unicorn/src/cgt.py | 23 +- unittests/python/testCfg2.py | 10 + 278 files changed, 13521 insertions(+), 12476 deletions(-) delete mode 100644 crlcore/etc/180/scn6m_deep_09/alliance.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/analog.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/devices.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/display.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/dtr_scn6m_deep_09.py delete mode 100644 crlcore/etc/180/scn6m_deep_09/etesian.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/hMetis.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/kite.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/mauka.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/misc.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/nimbus.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/patterns.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/plugins.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/stratus1.conf delete mode 100644 crlcore/etc/180/scn6m_deep_09/technology.conf delete mode 100644 crlcore/etc/symbolic/cmos/alliance.conf delete mode 100644 crlcore/etc/symbolic/cmos/analog.conf delete mode 100644 crlcore/etc/symbolic/cmos/display.conf delete mode 100644 crlcore/etc/symbolic/cmos/etesian.conf delete mode 100644 crlcore/etc/symbolic/cmos/hMetis.conf delete mode 100644 crlcore/etc/symbolic/cmos/kite.conf delete mode 100644 crlcore/etc/symbolic/cmos/mauka.conf delete mode 100644 crlcore/etc/symbolic/cmos/misc.conf delete mode 100644 crlcore/etc/symbolic/cmos/nimbus.conf delete mode 100644 crlcore/etc/symbolic/cmos/patterns.conf delete mode 100644 crlcore/etc/symbolic/cmos/plugins.conf delete mode 100644 crlcore/etc/symbolic/cmos/stratus1.conf delete mode 100644 crlcore/etc/symbolic/cmos/technology.conf delete mode 100644 crlcore/etc/symbolic/cmos45/alliance.conf delete mode 100644 crlcore/etc/symbolic/cmos45/analog.conf delete mode 100644 crlcore/etc/symbolic/cmos45/devices.conf delete mode 100644 crlcore/etc/symbolic/cmos45/display.conf delete mode 100644 crlcore/etc/symbolic/cmos45/etesian.conf delete mode 100644 crlcore/etc/symbolic/cmos45/hMetis.conf delete mode 100644 crlcore/etc/symbolic/cmos45/kite.conf delete mode 100644 crlcore/etc/symbolic/cmos45/mauka.conf delete mode 100644 crlcore/etc/symbolic/cmos45/misc.conf delete mode 100644 crlcore/etc/symbolic/cmos45/nimbus.conf delete mode 100644 crlcore/etc/symbolic/cmos45/patterns.conf delete mode 100644 crlcore/etc/symbolic/cmos45/plugins.conf delete mode 100644 crlcore/etc/symbolic/cmos45/stratus1.conf delete mode 100644 crlcore/etc/symbolic/cmos45/technology.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/alliance.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/analog.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/devices.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/display.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/etesian.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/hMetis.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/kite.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/mauka.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/misc.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/nimbus.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/patterns.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/plugins.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/stratus1.conf delete mode 100644 crlcore/etc/symbolic/phenitec06/technology.conf delete mode 100644 crlcore/etc/techno.conf delete mode 100644 crlcore/python/coriolisInit.py delete mode 100644 crlcore/python/helpers/Alliance.py delete mode 100644 crlcore/python/helpers/Configuration.py delete mode 100644 crlcore/python/helpers/Debug.py delete mode 100644 crlcore/python/helpers/Devices.py delete mode 100644 crlcore/python/helpers/Display.py delete mode 100755 crlcore/python/helpers/Patterns.py delete mode 100644 crlcore/python/helpers/Technology.py rename crlcore/python/helpers/{AnalogTechno.py => analogtechno.py} (89%) delete mode 100644 crlcore/python/helpers/etesian.py delete mode 100644 crlcore/python/helpers/hMetis.py delete mode 100644 crlcore/python/helpers/kite.py delete mode 100644 crlcore/python/helpers/mauka.py delete mode 100644 crlcore/python/helpers/misc.py delete mode 100644 crlcore/python/helpers/nimbus.py create mode 100644 crlcore/python/helpers/overlay.py delete mode 100644 cumulus/src/plugins/AboutWindow.py delete mode 100644 cumulus/src/plugins/ChipPlace.py delete mode 100644 cumulus/src/plugins/ChipRoute.py delete mode 100644 cumulus/src/plugins/ClockTreePlugin.py delete mode 100644 cumulus/src/plugins/ConductorPlugin.py create mode 100644 cumulus/src/plugins/aboutwindow.py rename cumulus/src/plugins/{clocktree => block}/__init__.py (100%) create mode 100644 cumulus/src/plugins/block/vchannels.py rename cumulus/src/plugins/chip/{BlockCorona.py => blockcorona.py} (95%) rename cumulus/src/plugins/chip/{BlockPower.py => blockpower.py} (98%) rename cumulus/src/plugins/chip/{Chip.py => chip.py} (73%) rename cumulus/src/plugins/chip/{Configuration.py => configuration.py} (96%) rename cumulus/src/plugins/chip/{PadsCorona.py => padscorona.py} (97%) create mode 100644 cumulus/src/plugins/chipplace.py create mode 100644 cumulus/src/plugins/chiproute.py create mode 100644 cumulus/src/plugins/clocktree.py create mode 100644 cumulus/src/plugins/conductor.py rename cumulus/src/plugins/core2chip/{CoreToChip.py => core2chip.py} (95%) rename cumulus/src/plugins/{CoreToChip_cmos.py => core2chip_cmos.py} (86%) rename cumulus/src/plugins/{CoreToChip_phlib80.py => core2chip_phlib80.py} (93%) create mode 100644 cumulus/src/plugins/cts/__init__.py rename cumulus/src/plugins/{clocktree/ClockTree.py => cts/clocktree.py} (92%) rename cumulus/src/plugins/{clocktree/RSMT.py => cts/rsmt.py} (86%) rename cumulus/src/plugins/{RSavePlugin.py => rsave.py} (70%) rename cumulus/src/plugins/{RSavePluginAll.py => rsaveall.py} (67%) rename cumulus/src/plugins/{S2R.py => s2r.py} (70%) create mode 100644 cumulus/src/plugins/vchannels.py create mode 100644 hurricane/src/configuration/CMakeLists.txt create mode 100644 hurricane/src/configuration/ConfEditorWidget.cpp create mode 100644 hurricane/src/configuration/ConfTabWidget.cpp create mode 100644 hurricane/src/configuration/Configuration.cpp create mode 100644 hurricane/src/configuration/Configuration.qrc create mode 100644 hurricane/src/configuration/ConfigurationDialog.cpp create mode 100644 hurricane/src/configuration/ConfigurationWidget.cpp create mode 100644 hurricane/src/configuration/LayoutDescription.cpp create mode 100644 hurricane/src/configuration/LogWidget.cpp create mode 100644 hurricane/src/configuration/Parameter.cpp create mode 100644 hurricane/src/configuration/ParameterWidget.cpp create mode 100644 hurricane/src/configuration/PyCfg.cpp create mode 100644 hurricane/src/configuration/PyConfiguration.cpp create mode 100644 hurricane/src/configuration/PyHurricane2.cpp create mode 100644 hurricane/src/configuration/PyParameter.cpp create mode 100644 hurricane/src/configuration/hurricane/configuration/ConfEditorWidget.h create mode 100644 hurricane/src/configuration/hurricane/configuration/ConfTabWidget.h create mode 100644 hurricane/src/configuration/hurricane/configuration/Configuration.h create mode 100644 hurricane/src/configuration/hurricane/configuration/ConfigurationDialog.h create mode 100644 hurricane/src/configuration/hurricane/configuration/ConfigurationWidget.h create mode 100644 hurricane/src/configuration/hurricane/configuration/FilePathEdit.h create mode 100644 hurricane/src/configuration/hurricane/configuration/LayoutDescription.h create mode 100644 hurricane/src/configuration/hurricane/configuration/LogWidget.h create mode 100644 hurricane/src/configuration/hurricane/configuration/Parameter.h create mode 100644 hurricane/src/configuration/hurricane/configuration/ParameterWidget.h create mode 100644 hurricane/src/configuration/hurricane/configuration/PyConfiguration.h create mode 100644 hurricane/src/configuration/hurricane/configuration/PyHurricane2.h create mode 100644 hurricane/src/configuration/hurricane/configuration/PyParameter.h create mode 100644 hurricane/src/configuration/images/choose.png create mode 100644 hurricane/src/configuration/images/warning.png rename karakaze/python/{AnalogDesign.py => analogdesign.py} (99%) rename karakaze/python/{Oceane.py => oceane.py} (100%) delete mode 100644 oroshi/python/MultiCapacitor.py delete mode 100644 oroshi/python/Resistor.py delete mode 100644 oroshi/python/Resistor1.py delete mode 100644 oroshi/python/capacitor.vst rename oroshi/python/{CapacitorMatrix.py => capacitormatrix.py} (99%) rename oroshi/python/{CapacitorRouted.py => capacitorrouted.py} (99%) rename oroshi/python/{CapacitorRoutedSingle.py => capacitorroutedsingle.py} (99%) rename oroshi/python/{CapacitorUnit.py => capacitorunit.py} (99%) rename oroshi/python/{CapacitorVRTracks.py => capacitorvrtracks.py} (99%) rename oroshi/python/{Rules.py => dtr.py} (100%) create mode 100644 oroshi/python/multicapacitor.py rename oroshi/python/{NonUnitCapacitor.py => nonunitcapacitor.py} (99%) rename oroshi/python/{ParamsMatrix.py => paramsmatrix.py} (100%) create mode 100644 oroshi/python/resistor.py rename oroshi/python/{ResistorSnake.py => resistorsnake.py} (99%) rename oroshi/python/{Stack.py => stack.py} (100%) rename oroshi/python/{WIP_CSP.py => wip_csp.py} (92%) rename oroshi/python/{WIP_DP.py => wip_dp.py} (93%) rename oroshi/python/{WIP_Transistor.py => wip_transistor.py} (68%) create mode 100755 unittests/python/testCfg2.py diff --git a/bootstrap/cmake_modules/FindLEFDEF.cmake b/bootstrap/cmake_modules/FindLEFDEF.cmake index 1af1bf49..8a55c54b 100644 --- a/bootstrap/cmake_modules/FindLEFDEF.cmake +++ b/bootstrap/cmake_modules/FindLEFDEF.cmake @@ -92,7 +92,7 @@ find_path( LEFDEF_LIBRARY_DIR NAMES "libdef.so" PATHS ${LEFDEF_SEARCH_PATH} - PATH_SUFFIXES "lib64 lib" + PATH_SUFFIXES "lib64" "lib" DOC "The ${LEFDEF_LIBRARY_DIR_DESCRIPTION}" ) message( STATUS "LEFDEF_LIBRARY_DIR: ${LEFDEF_LIBRARY_DIR}" ) diff --git a/bootstrap/docker/debian-10/Dockerfile.coriolis b/bootstrap/docker/debian-10/Dockerfile.coriolis index 86fdf229..24f8c9a0 100644 --- a/bootstrap/docker/debian-10/Dockerfile.coriolis +++ b/bootstrap/docker/debian-10/Dockerfile.coriolis @@ -6,5 +6,5 @@ RUN mkdir -p coriolis-2.x/src \ && git clone https://github.com/m-labs/nmigen.git \ && cd nmigen \ && python3 setup.py develop \ - && /root/socInstaller.py --docker --profile=Debian10 --do-yosys --do-alliance --do-coriolis --benchs + && /root/socInstaller.py --docker --profile=Debian10 --do-yosys --do-alliance --do-coriolis diff --git a/bootstrap/docker/debian-10/Dockerfile.system b/bootstrap/docker/debian-10/Dockerfile.system index 83d6caf8..b1d795e8 100644 --- a/bootstrap/docker/debian-10/Dockerfile.system +++ b/bootstrap/docker/debian-10/Dockerfile.system @@ -14,7 +14,7 @@ RUN apt-get update \ autotools-dev automake \ libxt-dev libxpm-dev libmotif-dev \ \ - tcl tcl-dev libffi6 libffi-dev libreadline7 \ + tcl tcl-dev libffi6 libffi-dev libreadline-dev \ \ vim \ && apt-get clean diff --git a/crlcore/doc/crlcore/html/AcmSigda_8h_source.html b/crlcore/doc/crlcore/html/AcmSigda_8h_source.html index 5e41ae70..dc2673e8 100644 --- a/crlcore/doc/crlcore/html/AcmSigda_8h_source.html +++ b/crlcore/doc/crlcore/html/AcmSigda_8h_source.html @@ -24,16 +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.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 54a66354..8208e082 100644 --- a/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html +++ b/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html @@ -24,16 +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/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::DbU;
36  using Hurricane::Cell;
37  using Hurricane::Net;
38  class RoutingGauge;
39  class CellGauge;
40 
41 
43  public:
44  enum FunctionsFlags { NoFlags = 0
45  , NoPythonInit = (1<<0)
46  };
48  , IgnoreFeeds = (1<<1)
49  };
50  enum LibraryFlags { CreateLibrary = (1<<0)
51  , AppendLibrary = (1<<1)
52  , HasCatalog = (1<<2)
53  };
54  enum NotifyFlags { AddedLibrary = (1<<0)
55  , RemovedLibrary = (1<<1)
56  , ConfigChanged = (1<<2)
57  };
58  public:
59  // Constructors.
60  static AllianceFramework* create ( unsigned long flags=NoFlags );
61  // Destructors.
62  void destroy ();
63  // Accessors.
64  static AllianceFramework* get ();
65  string getPrint () const;
66  // Predicates.
67  Catalog::State* isInCatalog ( const Name& );
68  Catalog::State* isInCatalog ( string );
69  inline bool isPOWER ( const char* name );
70  inline bool isPOWER ( const string& name );
71  inline bool isPOWER ( const Name& name );
72  inline bool isGROUND ( const char* name );
73  inline bool isGROUND ( const string& name );
74  inline bool isGROUND ( const Name& name );
75  inline bool isCLOCK ( const char* name );
76  inline bool isCLOCK ( const string& name );
77  inline bool isCLOCK ( const Name& name );
78  inline bool isBLOCKAGE ( const char* name );
79  inline bool isBLOCKAGE ( const string& name );
80  inline bool isBLOCKAGE ( const Name& name );
81  inline bool isBLOCKAGE ( const Net* net );
82  inline bool isPad ( const char* name );
83  inline bool isPad ( const string& name );
84  inline bool isPad ( const Name& name );
85  inline bool isPad ( const Cell* );
86  // Accessors.
87  inline Environment* getEnvironment ();
88  inline Catalog* getCatalog ();
89  inline const Name& getParentLibraryName () const;
90  inline Library* getParentLibrary ();
91  Library* getLibrary ( unsigned int index );
92  Library* getLibrary ( const Name& libName );
93  AllianceLibrary* getAllianceLibrary ( unsigned int index );
94  AllianceLibrary* getAllianceLibrary ( const Name& libName, unsigned int flags );
95  AllianceLibrary* getAllianceLibrary ( Library* );
96  AllianceLibrary* createLibrary ( const string& path, unsigned int flags, string libName="" );
97  inline const AllianceLibraries& getAllianceLibraries () const;
98  void saveLibrary ( Library* );
99  void saveLibrary ( AllianceLibrary* );
100  RoutingGauge* getRoutingGauge ( const Name& name="" );
101  CellGauge* getCellGauge ( const Name& name="" );
102  CellGauge* matchCellGauge ( DbU::Unit width, DbU::Unit height ) const;
103  CellGauge* matchCellGaugeByHeight ( DbU::Unit height ) const;
104  inline const Name getDefaultCGPinLayerName () const;
105  // Modifiers.
106  RoutingGauge* setRoutingGauge ( const Name& name="" );
107  CellGauge* setCellGauge ( const Name& name="" );
108  void addRoutingGauge ( RoutingGauge* );
109  void addCellGauge ( CellGauge* );
110  void addObserver ( BaseObserver* );
111  void removeObserver ( BaseObserver* );
112  void notify ( unsigned int flags );
113  // Cell Management.
114  Cell* cellLoader ( const string& rpath );
115  Cell* getCell ( const string& name
116  , unsigned int mode
117  , unsigned int depth=(unsigned int)-1 );
118  Cell* createCell ( const string& name, AllianceLibrary* library=NULL );
119  void saveCell ( Cell* , unsigned int mode );
120  void bindLibraries ();
121  unsigned int loadLibraryCells ( Library* );
122  unsigned int loadLibraryCells ( const Name& );
123  static size_t getInstancesCount ( Cell*, unsigned int flags );
124  // Hurricane Managment.
125  void toJson ( JsonWriter* ) const;
126  inline string _getTypeName () const;
127  string _getString () const;
128  Record* _getRecord () const;
129 
130  // Internals - Attributes.
131  protected:
132  static const Name _parentLibraryName;
133  static AllianceFramework* _singleton;
134  Observable _observers;
135  Environment _environment;
136  ParsersMap _parsers;
137  DriversMap _drivers;
138  Catalog _catalog;
139  AllianceLibraries _libraries;
140  Library* _parentLibrary;
141  map<Name,RoutingGauge*> _routingGauges;
142  RoutingGauge* _defaultRoutingGauge;
143  map<Name,CellGauge*> _cellGauges;
144  CellGauge* _defaultCellGauge;
145 
146  // Internals - Constructors.
147  AllianceFramework ();
148  AllianceFramework ( const AllianceFramework& );
149  AllianceFramework& operator= ( const AllianceFramework& );
150  // Internals - Destructors.
151  ~AllianceFramework ();
152  // Internals - Methods.
153  bool _readLocate ( const string& file, unsigned int mode, bool isLib=false );
154  bool _writeLocate ( const string& file, unsigned int mode, bool isLib=false );
155  AllianceLibrary* _createLibrary ( const string& path, bool& hasCatalog );
156  };
157 
158  inline bool AllianceFramework::isPOWER ( const char* name ) { return _environment.isPOWER(name); }
159  inline bool AllianceFramework::isPOWER ( const string& name ) { return isPOWER(name.c_str()); }
160  inline bool AllianceFramework::isPOWER ( const Name& name ) { return isPOWER(getString(name)); }
161  inline bool AllianceFramework::isGROUND ( const char* name ) { return _environment.isGROUND(name); }
162  inline bool AllianceFramework::isGROUND ( const string& name ) { return isGROUND(name.c_str()); }
163  inline bool AllianceFramework::isGROUND ( const Name& name ) { return isGROUND(getString(name)); }
164  inline bool AllianceFramework::isCLOCK ( const char* name ) { return _environment.isCLOCK(name); }
165  inline bool AllianceFramework::isCLOCK ( const string& name ) { return isCLOCK(name.c_str()); }
166  inline bool AllianceFramework::isCLOCK ( const Name& name ) { return isCLOCK(getString(name)); }
167  inline bool AllianceFramework::isBLOCKAGE ( const char* name ) { return _environment.isBLOCKAGE(name); }
168  inline bool AllianceFramework::isBLOCKAGE ( const string& name ) { return isBLOCKAGE(name.c_str()); }
169  inline bool AllianceFramework::isBLOCKAGE ( const Name& name ) { return isBLOCKAGE(getString(name)); }
170  inline bool AllianceFramework::isBLOCKAGE ( const Net* net ) { return isBLOCKAGE(net->getName()); }
171  inline bool AllianceFramework::isPad ( const char* name ) { return _environment.isPad(name); }
172  inline bool AllianceFramework::isPad ( const string& name ) { return isPad(name.c_str()); }
173  inline bool AllianceFramework::isPad ( const Name& name ) { return isPad(getString(name)); }
174  inline bool AllianceFramework::isPad ( const Cell* cell ) { return isPad(cell->getName()); }
175  inline Environment* AllianceFramework::getEnvironment () { return &_environment; }
176  inline Catalog* AllianceFramework::getCatalog () { return &_catalog; }
178  () const { return _parentLibraryName; }
179  inline Library* AllianceFramework::getParentLibrary () { return _parentLibrary; }
180  inline const AllianceLibraries&
181  AllianceFramework::getAllianceLibraries () const { return _libraries; }
182 // TEMPORARY.
184  () const { return "CALU1"; }
185  inline string AllianceFramework::_getTypeName () const { return "AllianceFramework"; }
186 
187 
188  class JsonAllianceFramework : public JsonObject {
189  public:
190  static void initialize ();
191  JsonAllianceFramework( unsigned long );
192  virtual ~JsonAllianceFramework();
193  virtual string getTypeName () const;
194  virtual JsonAllianceFramework* clone ( unsigned long ) const;
195  virtual void toData ( JsonStack& );
196  private:
197  std::string _defaultRoutingGauge;
198  std::string _defaultCellGauge;
199  };
200 
201 
202 } // CRL namespace.
203 
204 
205 INSPECTOR_P_SUPPORT(CRL::AllianceFramework);
206 
207 #endif // CRL_ALLIANCE_FRAMEWORK_H
bool isBLOCKAGE(const char *name) const
-
Library * getParentLibrary()
Definition: AllianceFramework.h:179
-
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::DbU;
+
36  using Hurricane::Cell;
+
37  using Hurricane::Net;
+
38  class RoutingGauge;
+
39  class CellGauge;
+
40 
+
41 
+
42  class AllianceFramework : public DBo {
+
43  typedef DBo Super;
+
44  public:
+
45  enum FunctionsFlags { NoFlags = 0
+
46  , NoPythonInit = (1<<0)
+
47  };
+ +
49  , IgnoreFeeds = (1<<1)
+
50  };
+
51  enum LibraryFlags { CreateLibrary = (1<<0)
+
52  , AppendLibrary = (1<<1)
+
53  , HasCatalog = (1<<2)
+
54  };
+
55  enum NotifyFlags { AddedLibrary = (1<<0)
+
56  , RemovedLibrary = (1<<1)
+
57  , ConfigChanged = (1<<2)
+
58  };
+
59  public:
+
60  static AllianceFramework* create ( unsigned long flags=NoFlags );
+
61  virtual void _postCreate ();
+
62  virtual void _preDestroy ();
+
63  // Accessors.
+
64  static AllianceFramework* get ();
+
65  string getPrint () const;
+
66  // Predicates.
+
67  Catalog::State* isInCatalog ( const Name& );
+
68  Catalog::State* isInCatalog ( string );
+
69  inline bool isPOWER ( const char* name );
+
70  inline bool isPOWER ( const string& name );
+
71  inline bool isPOWER ( const Name& name );
+
72  inline bool isGROUND ( const char* name );
+
73  inline bool isGROUND ( const string& name );
+
74  inline bool isGROUND ( const Name& name );
+
75  inline bool isCLOCK ( const char* name );
+
76  inline bool isCLOCK ( const string& name );
+
77  inline bool isCLOCK ( const Name& name );
+
78  inline bool isBLOCKAGE ( const char* name );
+
79  inline bool isBLOCKAGE ( const string& name );
+
80  inline bool isBLOCKAGE ( const Name& name );
+
81  inline bool isBLOCKAGE ( const Net* net );
+
82  inline bool isPad ( const char* name );
+
83  inline bool isPad ( const string& name );
+
84  inline bool isPad ( const Name& name );
+
85  inline bool isPad ( const Cell* );
+
86  // Accessors.
+
87  inline Environment* getEnvironment ();
+
88  inline Catalog* getCatalog ();
+
89  inline const Name& getParentLibraryName () const;
+
90  inline Library* getParentLibrary ();
+
91  Library* getLibrary ( unsigned int index );
+
92  Library* getLibrary ( const Name& libName );
+
93  AllianceLibrary* getAllianceLibrary ( unsigned int index );
+
94  AllianceLibrary* getAllianceLibrary ( const Name& libName, unsigned int flags );
+ +
96  AllianceLibrary* createLibrary ( const string& path, unsigned int flags, string libName="" );
+
97  inline const AllianceLibraries& getAllianceLibraries () const;
+
98  void saveLibrary ( Library* );
+
99  void saveLibrary ( AllianceLibrary* );
+
100  RoutingGauge* getRoutingGauge ( const Name& name="" );
+
101  CellGauge* getCellGauge ( const Name& name="" );
+
102  CellGauge* matchCellGauge ( DbU::Unit width, DbU::Unit height ) const;
+
103  CellGauge* matchCellGaugeByHeight ( DbU::Unit height ) const;
+
104  inline const Name getDefaultCGPinLayerName () const;
+
105  // Modifiers.
+
106  RoutingGauge* setRoutingGauge ( const Name& name="" );
+
107  CellGauge* setCellGauge ( const Name& name="" );
+
108  void addRoutingGauge ( RoutingGauge* );
+
109  void addCellGauge ( CellGauge* );
+
110  void addObserver ( BaseObserver* );
+
111  void removeObserver ( BaseObserver* );
+
112  void notify ( unsigned int flags );
+
113  // Cell Management.
+
114  Cell* cellLoader ( const string& rpath );
+
115  Cell* getCell ( const string& name
+
116  , unsigned int mode
+
117  , unsigned int depth=(unsigned int)-1 );
+
118  Cell* createCell ( const string& name, AllianceLibrary* library=NULL );
+
119  void saveCell ( Cell* , unsigned int mode );
+
120  void bindLibraries ();
+
121  unsigned int loadLibraryCells ( Library* );
+
122  unsigned int loadLibraryCells ( const Name& );
+
123  static size_t getInstancesCount ( Cell*, unsigned int flags );
+
124  // Hurricane Managment.
+
125  void toJson ( JsonWriter* ) const;
+
126  virtual string _getTypeName () const;
+
127  virtual Record* _getRecord () const;
+
128 
+
129  // Internals - Attributes.
+
130  protected:
+
131  static const Name _parentLibraryName;
+
132  static AllianceFramework* _singleton;
+
133  Observable _observers;
+
134  Environment _environment;
+
135  ParsersMap _parsers;
+
136  DriversMap _drivers;
+
137  Catalog _catalog;
+
138  AllianceLibraries _libraries;
+
139  Library* _parentLibrary;
+
140  map<Name,RoutingGauge*> _routingGauges;
+
141  RoutingGauge* _defaultRoutingGauge;
+
142  map<Name,CellGauge*> _cellGauges;
+
143  CellGauge* _defaultCellGauge;
+
144 
+
145  // Internals - Constructors.
+ + +
148  AllianceFramework& operator= ( const AllianceFramework& );
+
149  // Internals - Destructors.
+
150  ~AllianceFramework ();
+
151  // Internals - Methods.
+
152  bool _readLocate ( const string& file, unsigned int mode, bool isLib=false );
+
153  bool _writeLocate ( const string& file, unsigned int mode, bool isLib=false );
+
154  AllianceLibrary* _createLibrary ( const string& path, bool& hasCatalog );
+
155  };
+
156 
+
157  inline bool AllianceFramework::isPOWER ( const char* name ) { return _environment.isPOWER(name); }
+
158  inline bool AllianceFramework::isPOWER ( const string& name ) { return isPOWER(name.c_str()); }
+
159  inline bool AllianceFramework::isPOWER ( const Name& name ) { return isPOWER(getString(name)); }
+
160  inline bool AllianceFramework::isGROUND ( const char* name ) { return _environment.isGROUND(name); }
+
161  inline bool AllianceFramework::isGROUND ( const string& name ) { return isGROUND(name.c_str()); }
+
162  inline bool AllianceFramework::isGROUND ( const Name& name ) { return isGROUND(getString(name)); }
+
163  inline bool AllianceFramework::isCLOCK ( const char* name ) { return _environment.isCLOCK(name); }
+
164  inline bool AllianceFramework::isCLOCK ( const string& name ) { return isCLOCK(name.c_str()); }
+
165  inline bool AllianceFramework::isCLOCK ( const Name& name ) { return isCLOCK(getString(name)); }
+
166  inline bool AllianceFramework::isBLOCKAGE ( const char* name ) { return _environment.isBLOCKAGE(name); }
+
167  inline bool AllianceFramework::isBLOCKAGE ( const string& name ) { return isBLOCKAGE(name.c_str()); }
+
168  inline bool AllianceFramework::isBLOCKAGE ( const Name& name ) { return isBLOCKAGE(getString(name)); }
+
169  inline bool AllianceFramework::isBLOCKAGE ( const Net* net ) { return isBLOCKAGE(net->getName()); }
+
170  inline bool AllianceFramework::isPad ( const char* name ) { return _environment.isPad(name); }
+
171  inline bool AllianceFramework::isPad ( const string& name ) { return isPad(name.c_str()); }
+
172  inline bool AllianceFramework::isPad ( const Name& name ) { return isPad(getString(name)); }
+
173  inline bool AllianceFramework::isPad ( const Cell* cell ) { return isPad(cell->getName()); }
+
174  inline Environment* AllianceFramework::getEnvironment () { return &_environment; }
+
175  inline Catalog* AllianceFramework::getCatalog () { return &_catalog; }
+ +
177  () const { return _parentLibraryName; }
+
178  inline Library* AllianceFramework::getParentLibrary () { return _parentLibrary; }
+
179  inline const AllianceLibraries&
+
180  AllianceFramework::getAllianceLibraries () const { return _libraries; }
+
181 // TEMPORARY.
+ +
183  () const { return "CALU1"; }
+
184 
+
185 
+
186  class JsonAllianceFramework : public JsonObject {
+
187  public:
+
188  static void initialize ();
+
189  JsonAllianceFramework( unsigned long );
+
190  virtual ~JsonAllianceFramework();
+
191  virtual string getTypeName () const;
+
192  virtual JsonAllianceFramework* clone ( unsigned long ) const;
+
193  virtual void toData ( JsonStack& );
+
194  private:
+
195  std::string _defaultRoutingGauge;
+
196  std::string _defaultCellGauge;
+
197  };
+
198 
+
199 
+
200 } // CRL namespace.
+
201 
+
202 
+
203 INSPECTOR_P_SUPPORT(CRL::AllianceFramework);
+
204 
+
205 #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:178
+
An entry to store the Cell State in the Catalog.
Definition: Catalog.h:77
A Framework to work with Alliance formats.
Definition: AllianceFramework.h:42
-
const Name getDefaultCGPinLayerName() const
Definition: AllianceFramework.h:184
-
bool isPOWER(const char *name) const
void addCellGauge(CellGauge *)
+
const Name & getParentLibraryName() const
Definition: AllianceFramework.h:177
-
InstancesCountFlags
Definition: AllianceFramework.h:47
+
InstancesCountFlags
Definition: AllianceFramework.h:48
- +
bool isBLOCKAGE(const char *name) const
static size_t getInstancesCount(Cell *, unsigned int flags)
std::int64_t Unit
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:50
-
bool isPad(const char *name) const
+ +
LibraryFlags
Definition: AllianceFramework.h:51
+
bool isCLOCK(const char *name) const
-
bool isGROUND(const char *name) const
-
Definition: AllianceFramework.h:47
+
bool isGROUND(const char *name) const
+
const Name getDefaultCGPinLayerName() const
Definition: AllianceFramework.h:183
+
Definition: AllianceFramework.h:48
Library * getLibrary(unsigned int index)
-
const Name & getParentLibraryName() const
Definition: AllianceFramework.h:178
+
Cell * getCell(const string &name, unsigned int mode, unsigned int depth=(unsigned int)-1)
void addRoutingGauge(RoutingGauge *)
-
Definition: AllianceFramework.h:50
+
bool isPad(const char *name) const
+
Definition: AllianceFramework.h:51
+
string getPrint() const
unsigned int loadLibraryCells(Library *)
Cell * createCell(const string &name, AllianceLibrary *library=NULL)
-
Catalog * getCatalog()
Definition: AllianceFramework.h:176
-
Definition: AllianceFramework.h:48
+
Catalog * getCatalog()
Definition: AllianceFramework.h:175
+
Definition: AllianceFramework.h:49
RoutingGauge * getRoutingGauge(const Name &name="")
-
A Registry to store Alliance Cell metadatas.
Definition: Catalog.h:56
AllianceLibrary * getAllianceLibrary(unsigned int index)
-
Definition: AllianceFramework.h:52
+
Definition: AllianceFramework.h:53
Holds all the Alliance environment variables.
Definition: Environment.h:35
-
Environment * getEnvironment()
Definition: AllianceFramework.h:175
-
string getPrint() const
+ +
Environment * getEnvironment()
Definition: AllianceFramework.h:174
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.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 9afa6284..14892c50 100644 --- a/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html +++ b/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html @@ -24,16 +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  AllianceLibrary ();
+
48  AllianceLibrary ( const Name& path, Library* library=NULL );
+
49  AllianceLibrary& operator= ( const AllianceLibrary& directory );
+
50  AllianceLibrary& operator= ( const std::string& path );
+
51  inline const Name& getPath () const;
+
52  inline Library* getLibrary () const;
+
53  void saveCells () const;
+
54  void saveCATAL () const;
+
55  void toJson ( JsonWriter* ) const;
+
56  inline std::string _getTypeName () const;
+
57  std::string _getString () const;
+
58  Record* _getRecord () const;
+
59 
+
60  protected:
+
61  Name _path;
+
62  Library* _library;
+
63 
+
64  };
+
65 
+
66 
+
67  typedef vector<AllianceLibrary*> AllianceLibraries;
+
68 
+
69 
+
70 // Inline Functions.
+
71  inline const Name& AllianceLibrary::getPath () const { return _path; }
+
72  inline Library* AllianceLibrary::getLibrary () const { return _library; }
+
73  inline std::string AllianceLibrary::_getTypeName () const { return _TName("AllianceLibrary"); }
+
74 
+
75 
+
76 // -------------------------------------------------------------------
+
77 // Class : "JsonAllianceLibrary".
+
78 
+
79  class JsonAllianceLibrary : public JsonObject {
+
80  public:
+
81  static void initialize ();
+
82  JsonAllianceLibrary ( unsigned long flags );
+
83  virtual std::string getTypeName () const;
+
84  virtual JsonAllianceLibrary* clone ( unsigned long flags ) const;
+
85  virtual void toData ( JsonStack& );
+
86  };
+
87 
+
88 
+
89 } // CRL namespace.
+
90 
+
91 
+
92 INSPECTOR_P_SUPPORT(CRL::AllianceLibrary);
+
93 
+
94 #endif // CRL_ALLIANCE_LIBRARY_H
+
A small wrapper around Hurricane::Library.
Definition: AllianceLibrary.h:44
+
Library * getLibrary() const
Definition: AllianceLibrary.h:72
+
const Name & getPath() const
Definition: AllianceLibrary.h:71
-
const Name & getPath() const
Definition: AllianceLibrary.h:74
- -
Library * getLibrary() const
Definition: AllianceLibrary.h:75
-
The namespace of Coriolis Core.
Definition: Environment.h:26


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


- +
Generated by doxygen 1.8.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 324c333b..9c962ffa 100644 --- a/crlcore/doc/crlcore/html/Environment_8h_source.html +++ b/crlcore/doc/crlcore/html/Environment_8h_source.html @@ -24,16 +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  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 std::string Environment::_getTypeName () const { return "Environment"; }
142 
143 
144 // -------------------------------------------------------------------
145 // Class : "JsonEnvironment".
146 
147  class JsonEnvironment : public JsonObject {
148  public:
149  static void initialize ();
150  JsonEnvironment ( unsigned long flags );
151  virtual std::string getTypeName () const;
152  virtual JsonEnvironment* clone ( unsigned long flags ) const;
153  virtual void toData ( JsonStack& );
154  };
155 
156 
157 } // CRL namespace.
158 
159 
160 INSPECTOR_P_SUPPORT(CRL::Environment);
161 
162 
163 #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  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 std::string Environment::_getTypeName () const { return "Environment"; }
+
142 
+
143 
+
144 // -------------------------------------------------------------------
+
145 // Class : "JsonEnvironment".
+
146 
+
147  class JsonEnvironment : public JsonObject {
+
148  public:
+
149  static void initialize ();
+
150  JsonEnvironment ( unsigned long flags );
+
151  virtual std::string getTypeName () const;
+
152  virtual JsonEnvironment* clone ( unsigned long flags ) const;
+
153  virtual void toData ( JsonStack& );
+
154  };
+
155 
+
156 
+
157 } // CRL namespace.
+
158 
+
159 
+
160 INSPECTOR_P_SUPPORT(CRL::Environment);
+
161 
+
162 
+
163 #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)
+
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 setDISPLAY(const char *value)


- +
Generated by doxygen 1.8.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 e12c61dd..8fd98a68 100644 --- a/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html +++ b/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html @@ -24,16 +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
@@ -52,15 +168,13 @@ $(function() {
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.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 5e370ae8..5330d9f0 100644 --- a/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html +++ b/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html @@ -24,16 +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  DbU::Unit getPitch ( const Layer* ) const;
76  DbU::Unit getOffset ( const Layer* ) const;
77  DbU::Unit getWireWidth ( const Layer* ) const;
78  DbU::Unit getViaWidth ( const Layer* ) const;
79  RoutingLayerGauge* getLayerGauge ( size_t depth ) const;
80  inline unsigned int getLayerDirection ( size_t depth ) const;
81  inline unsigned int getLayerType ( size_t depth ) const;
82  inline DbU::Unit getLayerPitch ( size_t depth ) const;
83  inline DbU::Unit getLayerOffset ( size_t depth ) const;
84  inline DbU::Unit getLayerWireWidth ( size_t depth ) const;
85  inline DbU::Unit getViaWidth ( size_t depth ) const;
86  const Layer* getRoutingLayer ( size_t depth ) const;
87  Layer* getContactLayer ( size_t depth ) const;
88  const vector<RoutingLayerGauge*>&
89  getLayerGauges () const;
90  // Methods.
91  void addLayerGauge ( RoutingLayerGauge* layerGauge );
92  void checkConnexity () const;
93  inline void setSymbolic ( bool );
94  // Hurricane Managment.
95  void toJson ( JsonWriter* ) const;
96  virtual Record* _getRecord ( Record* record=NULL ) const;
97  virtual string _getString () const;
98  virtual string _getTypeName () const;
99 
100  protected:
101  // Internal - Attributes.
102  Name _name;
103  vector<RoutingLayerGauge*> _layerGauges;
104  vector<Layer*> _viaLayers;
105  Technology* _technology;
106  bool _isSymbolic;
107 
108  // Internal - Constructors & Destructors.
109  RoutingGauge ( const char* name );
110  RoutingGauge ( const RoutingGauge& );
111  virtual ~RoutingGauge ();
112  virtual void _preDestroy ();
113  RoutingGauge& operator= ( const RoutingGauge& );
114  };
115 
116 
117  inline bool RoutingGauge::isSymbolic () const { return _isSymbolic; }
118  inline bool RoutingGauge::isTwoMetals () const { return (getDepth() < 3); }
119  inline bool RoutingGauge::isHV () const { return not isTwoMetals() and (getLayerGauge(1)->isHorizontal()); }
120  inline bool RoutingGauge::isVH () const { return not isTwoMetals() and (getLayerGauge(1)->isVertical()); }
121  inline const Name RoutingGauge::getName () const { return _name; }
122  inline size_t RoutingGauge::getDepth () const { return _layerGauges.size(); }
123  inline Technology* RoutingGauge::getTechnology () const { return _technology; }
124  inline DbU::Unit RoutingGauge::getHorizontalPitch () const { return getHorizontalGauge()->getPitch(); }
125  inline DbU::Unit RoutingGauge::getVerticalPitch () const { return getVerticalGauge ()->getPitch(); }
126  inline unsigned int RoutingGauge::getLayerType ( size_t depth ) const { return getLayerGauge(depth)->getType(); }
127  inline unsigned int RoutingGauge::getLayerDirection ( size_t depth ) const { return getLayerGauge(depth)->getDirection(); }
128  inline DbU::Unit RoutingGauge::getLayerPitch ( size_t depth ) const { return getLayerGauge(depth)->getPitch(); }
129  inline DbU::Unit RoutingGauge::getLayerOffset ( size_t depth ) const { return getLayerGauge(depth)->getOffset(); }
130  inline DbU::Unit RoutingGauge::getLayerWireWidth ( size_t depth ) const { return getLayerGauge(depth)->getWireWidth(); }
131  inline DbU::Unit RoutingGauge::getViaWidth ( size_t depth ) const { return getLayerGauge(depth)->getViaWidth(); }
132  inline void RoutingGauge::setSymbolic ( bool state ) { _isSymbolic=state; }
133 
134 
135 // -------------------------------------------------------------------
136 // Class : "JsonRoutingGauge".
137 
138  class JsonRoutingGauge : public JsonObject {
139  public:
140  static void initialize ();
141  JsonRoutingGauge ( unsigned long flags );
142  virtual string getTypeName () const;
143  virtual JsonRoutingGauge* clone ( unsigned long flags ) const;
144  virtual void toData ( JsonStack& );
145  };
146 
147 
148 } // CRL namespace.
149 
150 INSPECTOR_P_SUPPORT(CRL::RoutingGauge);
151 
152 #endif
DbU::Unit getViaWidth() const
Definition: RoutingLayerGauge.h:182
-
DbU::Unit getPitch() const
Definition: RoutingLayerGauge.h:178
+
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  DbU::Unit getPitch ( const Layer* ) const;
+
76  DbU::Unit getOffset ( const Layer* ) const;
+
77  DbU::Unit getWireWidth ( const Layer* ) const;
+
78  DbU::Unit getViaWidth ( const Layer* ) const;
+
79  RoutingLayerGauge* getLayerGauge ( size_t depth ) const;
+
80  inline unsigned int getLayerDirection ( size_t depth ) const;
+
81  inline unsigned int getLayerType ( size_t depth ) const;
+
82  inline DbU::Unit getLayerPitch ( size_t depth ) const;
+
83  inline DbU::Unit getLayerOffset ( size_t depth ) const;
+
84  inline DbU::Unit getLayerWireWidth ( size_t depth ) const;
+
85  inline DbU::Unit getViaWidth ( size_t depth ) const;
+
86  const Layer* getRoutingLayer ( size_t depth ) const;
+
87  Layer* getContactLayer ( size_t depth ) const;
+
88  const vector<RoutingLayerGauge*>&
+
89  getLayerGauges () const;
+
90  // Methods.
+
91  void addLayerGauge ( RoutingLayerGauge* layerGauge );
+
92  void checkConnexity () const;
+
93  inline void setSymbolic ( bool );
+
94  // Hurricane Managment.
+
95  void toJson ( JsonWriter* ) const;
+
96  virtual Record* _getRecord ( Record* record=NULL ) const;
+
97  virtual string _getString () const;
+
98  virtual string _getTypeName () const;
+
99 
+
100  protected:
+
101  // Internal - Attributes.
+
102  Name _name;
+
103  vector<RoutingLayerGauge*> _layerGauges;
+
104  vector<Layer*> _viaLayers;
+
105  Technology* _technology;
+
106  bool _isSymbolic;
+
107 
+
108  // Internal - Constructors & Destructors.
+
109  RoutingGauge ( const char* name );
+
110  RoutingGauge ( const RoutingGauge& );
+
111  virtual ~RoutingGauge ();
+
112  virtual void _preDestroy ();
+
113  RoutingGauge& operator= ( const RoutingGauge& );
+
114  };
+
115 
+
116 
+
117  inline bool RoutingGauge::isSymbolic () const { return _isSymbolic; }
+
118  inline bool RoutingGauge::isTwoMetals () const { return (getDepth() < 3); }
+
119  inline bool RoutingGauge::isHV () const { return not isTwoMetals() and (getLayerGauge(1)->isHorizontal()); }
+
120  inline bool RoutingGauge::isVH () const { return not isTwoMetals() and (getLayerGauge(1)->isVertical()); }
+
121  inline const Name RoutingGauge::getName () const { return _name; }
+
122  inline size_t RoutingGauge::getDepth () const { return _layerGauges.size(); }
+
123  inline Technology* RoutingGauge::getTechnology () const { return _technology; }
+
124  inline DbU::Unit RoutingGauge::getHorizontalPitch () const { return getHorizontalGauge()->getPitch(); }
+
125  inline DbU::Unit RoutingGauge::getVerticalPitch () const { return getVerticalGauge ()->getPitch(); }
+
126  inline unsigned int RoutingGauge::getLayerType ( size_t depth ) const { return getLayerGauge(depth)->getType(); }
+
127  inline unsigned int RoutingGauge::getLayerDirection ( size_t depth ) const { return getLayerGauge(depth)->getDirection(); }
+
128  inline DbU::Unit RoutingGauge::getLayerPitch ( size_t depth ) const { return getLayerGauge(depth)->getPitch(); }
+
129  inline DbU::Unit RoutingGauge::getLayerOffset ( size_t depth ) const { return getLayerGauge(depth)->getOffset(); }
+
130  inline DbU::Unit RoutingGauge::getLayerWireWidth ( size_t depth ) const { return getLayerGauge(depth)->getWireWidth(); }
+
131  inline DbU::Unit RoutingGauge::getViaWidth ( size_t depth ) const { return getLayerGauge(depth)->getViaWidth(); }
+
132  inline void RoutingGauge::setSymbolic ( bool state ) { _isSymbolic=state; }
+
133 
+
134 
+
135 // -------------------------------------------------------------------
+
136 // Class : "JsonRoutingGauge".
+
137 
+
138  class JsonRoutingGauge : public JsonObject {
+
139  public:
+
140  static void initialize ();
+
141  JsonRoutingGauge ( unsigned long flags );
+
142  virtual string getTypeName () const;
+
143  virtual JsonRoutingGauge* clone ( unsigned long flags ) const;
+
144  virtual void toData ( JsonStack& );
+
145  };
+
146 
+
147 
+
148 } // CRL namespace.
+
149 
+
150 INSPECTOR_P_SUPPORT(CRL::RoutingGauge);
+
151 
+
152 #endif
+
Technology * getTechnology() const
Definition: RoutingGauge.h:123
+
DbU::Unit getOffset() const
Definition: RoutingLayerGauge.h:177
+
const Layer * getRoutingLayer(size_t depth) const
+
const vector< RoutingLayerGauge * > & getLayerGauges() const
-
DbU::Unit getWireWidth() const
Definition: RoutingLayerGauge.h:180
+
Constant::Direction getDirection() const
Definition: RoutingLayerGauge.h:173
std::int64_t Unit
virtual void destroy()
Gauge for the detailed routing.
Definition: RoutingGauge.h:48
-
RoutingGauge * getClone() const
-
Constant::Direction getDirection() const
Definition: RoutingLayerGauge.h:173
-
Technology * getTechnology() const
Definition: RoutingGauge.h:123
+
Constant::LayerGaugeType getType() const
Definition: RoutingLayerGauge.h:174
-
const Name getName() const
Definition: RoutingGauge.h:121
-
DbU::Unit getOffset() const
Definition: RoutingLayerGauge.h:177
-
size_t getDepth() const
Definition: RoutingGauge.h:122
-
Constant::LayerGaugeType getType() const
Definition: RoutingLayerGauge.h:174
-
RoutingLayerGauge * getLayerGauge(const Layer *) const
+
DbU::Unit getViaWidth() const
Definition: RoutingLayerGauge.h:182
+
size_t getLayerDepth(const Layer *) const
void addLayerGauge(RoutingLayerGauge *layerGauge)
static RoutingGauge * create(const char *name)
-
const vector< RoutingLayerGauge * > & getLayerGauges() const
+
void checkConnexity() const
+
DbU::Unit getWireWidth() const
Definition: RoutingLayerGauge.h:180
-
Layer * getContactLayer(size_t depth) const
-
const Layer * getRoutingLayer(size_t depth) const
- -
void checkConnexity() const
-
size_t getLayerDepth(const Layer *) const
+
unsigned int getLayerDirection(const Layer *) const
+
const Name getName() const
Definition: RoutingGauge.h:121
+
RoutingLayerGauge * getLayerGauge(const Layer *) const
+
Layer * getContactLayer(size_t depth) const
+
RoutingGauge * getClone() const
+
size_t getDepth() const
Definition: RoutingGauge.h:122
Gauge of a Layer for the detailed routing.
Definition: RoutingLayerGauge.h:77
-
unsigned int getLayerDirection(const Layer *) const
-
The namespace of Coriolis Core.
Definition: Environment.h:26
+
DbU::Unit getPitch() const
Definition: RoutingLayerGauge.h:178


- +
Generated by doxygen 1.8.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 af662ada..0283f85d 100644 --- a/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html +++ b/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html @@ -24,16 +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  long 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, long index ) 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
-
DbU::Unit getViaWidth() const
Definition: RoutingLayerGauge.h:182
+
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  long 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, long index ) 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
+
const Layer * getLayer() const
Definition: RoutingLayerGauge.h:171
+
DbU::Unit getOffset() const
Definition: RoutingLayerGauge.h:177
Round
Definition: RoutingLayerGauge.h:44
-
DbU::Unit getPitch() const
Definition: RoutingLayerGauge.h:178
-
long getTrackIndex(DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode) const
+
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
-
DbU::Unit getWireWidth() const
Definition: RoutingLayerGauge.h:180
std::int64_t Unit
-
unsigned int getTrackNumber(DbU::Unit start, DbU::Unit stop) const
+
double getDensity() const
Definition: RoutingLayerGauge.h:176
Direction
Definition: RoutingLayerGauge.h:36
Gauge for the detailed routing.
Definition: RoutingGauge.h:48
-
Constant::Direction getDirection() const
Definition: RoutingLayerGauge.h:173
+
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)
-
unsigned int getDepth() const
Definition: RoutingLayerGauge.h:175
-
DbU::Unit getOffset() const
Definition: RoutingLayerGauge.h:177
-
Constant::LayerGaugeType getType() const
Definition: RoutingLayerGauge.h:174
-
const Layer * getBlockageLayer() const
Definition: RoutingLayerGauge.h:172
+
DbU::Unit getViaWidth() const
Definition: RoutingLayerGauge.h:182
+
long 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
-
DbU::Unit getHalfViaWidth() const
Definition: RoutingLayerGauge.h:183
-
DbU::Unit getHalfWireWidth() const
Definition: RoutingLayerGauge.h:181
-
void divide(DbU::Unit dividend, long &quotient, long &modulo) const
-
double getDensity() const
Definition: RoutingLayerGauge.h:176
- -
DbU::Unit getHalfPitch() const
Definition: RoutingLayerGauge.h:179
+
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
Definition: RoutingLayerGauge.h:47
-
The namespace of Coriolis Core.
Definition: Environment.h:26
+
DbU::Unit getPitch() const
Definition: RoutingLayerGauge.h:178


- +
Generated by doxygen 1.8.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 50b8064f..be7eebd7 100644 --- a/crlcore/doc/crlcore/html/SearchPath_8h_source.html +++ b/crlcore/doc/crlcore/html/SearchPath_8h_source.html @@ -24,16 +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 size_t append ( const std::string& path, const std::string& name="" );
54  size_t prepend ( const std::string& path, const std::string& name="");
55  size_t 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 size_t SearchPath::append ( const std::string& path, const std::string& name ) {
96  _paths.push_back ( Element ( path, name.empty()?extractLibName(path):name ) );
97  return _paths.size()-1;
98  }
99 
100  inline SearchPath::Element::Element ( const std::string& path, const std::string& name )
101  : _path(path)
102  , _name(name.empty()?SearchPath::extractLibName(path):name)
103  { }
104 
105  inline bool SearchPath::Element::empty () const { return _path.empty() and _name.empty(); }
106  inline const std::string& SearchPath::Element::getPath () const { return _path; }
107  inline const std::string& SearchPath::Element::getName () const { return _name; }
108  inline std::string SearchPath::Element::_getTypeName () const { return "SearchPath::Element"; }
109 
110 
111 } // CRL namespace.
112 
113 
114 INSPECTOR_P_SUPPORT(CRL::SearchPath);
115 INSPECTOR_V_SUPPORT(CRL::SearchPath::Element);
116 
117 
118 #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 size_t append ( const std::string& path, const std::string& name="" );
+
54  size_t prepend ( const std::string& path, const std::string& name="");
+
55  size_t 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 size_t SearchPath::append ( const std::string& path, const std::string& name ) {
+
96  _paths.push_back ( Element ( path, name.empty()?extractLibName(path):name ) );
+
97  return _paths.size()-1;
+
98  }
+
99 
+
100  inline SearchPath::Element::Element ( const std::string& path, const std::string& name )
+
101  : _path(path)
+
102  , _name(name.empty()?SearchPath::extractLibName(path):name)
+
103  { }
+
104 
+
105  inline bool SearchPath::Element::empty () const { return _path.empty() and _name.empty(); }
+
106  inline const std::string& SearchPath::Element::getPath () const { return _path; }
+
107  inline const std::string& SearchPath::Element::getName () const { return _name; }
+
108  inline std::string SearchPath::Element::_getTypeName () const { return "SearchPath::Element"; }
+
109 
+
110 
+
111 } // CRL namespace.
+
112 
+
113 
+
114 INSPECTOR_P_SUPPORT(CRL::SearchPath);
+
115 INSPECTOR_V_SUPPORT(CRL::SearchPath::Element);
+
116 
+
117 
+
118 #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:105
+
const std::string & getPath() const
Definition: SearchPath.h:106
+
size_t getSize() const
Definition: SearchPath.h:89
+
const std::string & getName() const
Definition: SearchPath.h:107
+
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
size_t prepend(const std::string &path, const std::string &name="")
-
bool empty() const
Definition: SearchPath.h:105
-
const std::string & getPath() const
Definition: SearchPath.h:106
-
const std::string & getName() const
Definition: SearchPath.h:107
-
The namespace of Coriolis Core.
Definition: Environment.h:26
+
size_t getIndex() const
Definition: SearchPath.h:91
size_t replace(const std::string &path, const std::string &, size_t index)
Element(const std::string &path="", const std::string &name="")
Definition: SearchPath.h:100
size_t 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.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 f5793e0e..6fef6327 100644 --- a/crlcore/doc/crlcore/html/ToolEngine_8h_source.html +++ b/crlcore/doc/crlcore/html/ToolEngine_8h_source.html @@ -24,16 +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 "hurricane/Commons.h"
23 #include "hurricane/Timer.h"
24 #include "hurricane/DBo.h"
25 #include "hurricane/Slot.h"
26 
27 namespace Hurricane {
28  class Name;
29  class Cell;
30 }
31 
32 #include "crlcore/Measures.h"
33 #include "crlcore/ToolEngines.h"
34 
35 
36 namespace CRL {
37 
38  using Hurricane::Timer;
39  using Hurricane::Record;
40  using Hurricane::Name;
41  using Hurricane::DBo;
42  using Hurricane::Cell;
43 
44 
45 // -------------------------------------------------------------------
46 // Class : "CRL::ToolEngine".
47 
48  class ToolEngine : public DBo {
49  public:
50  typedef DBo Super;
51  public:
52  static ToolEngines get ( const Cell* cell );
53  static ToolEngine* get ( const Cell* cell, const Name& name );
54  static void destroyAll ();
55  static bool inDestroyAll ();
56  public:
57  virtual const Name& getName () const = 0;
58  inline Cell* getCell () const;
59  inline uint32_t getPassNumber () const;
60  bool placementModificationFlagHasChanged ();
61  bool routingModificationFlagHasChanged ();
62  inline void setInRelationDestroy ( bool );
63  inline const Timer& getTimer () const;
64  inline void setPassNumber ( uint32_t );
65  inline std::string getMeasureLabel ( std::string ) const;
66  void startMeasures ();
67  void stopMeasures ();
68  void suspendMeasures ();
69  void resumeMeasures ();
70  void printMeasures () const;
71  template<typename Data>
72  inline void addMeasure ( std::string, const Data&, unsigned int width ) const;
73  template<typename Data>
74  inline void addMeasure ( std::string, const Data& ) const;
75  template<typename Data>
76  inline void addMeasure ( std::string, Data* ) const;
77  template<typename Data>
78  inline const Data& getMeasure ( std::string ) const;
79  virtual std::string _getTypeName () const;
80  virtual std::string _getString () const;
81  virtual Record* _getRecord () const;
82  private:
83  static bool _inDestroyAll;
84  protected:
85  Cell* _cell;
86  private:
87  unsigned int _placementModificationFlag;
88  unsigned int _routingModificationFlag;
89  bool _inRelationDestroy;
90  Timer _timer;
91  uint32_t _passNumber;
92  protected:
93  ToolEngine ( Cell* cell );
94  virtual void _postCreate ();
95  virtual void _preDestroy ();
96  protected:
97  void grabPlacementModificationFlag ();
98  void getPlacementModificationFlag ();
99  void grabRoutingModificationFlag ();
100  void getRoutingModificationFlag ();
101  };
102 
103 
104 // -------------------------------------------------------------------
105 // Inline Functions.
106 
107 
108  inline Cell* ToolEngine::getCell () const { return _cell; }
109  inline void ToolEngine::setInRelationDestroy ( bool state ) { _inRelationDestroy = state; }
110  inline const Timer& ToolEngine::getTimer () const { return _timer; }
111  inline uint32_t ToolEngine::getPassNumber () const { return _passNumber; }
112  inline void ToolEngine::setPassNumber ( uint32_t n ) { _passNumber = n; }
113 
114  inline std::string ToolEngine::getMeasureLabel ( std::string label ) const
115  { return _getTypeName() + "." + label; }
116 
117  template<typename Data>
118  inline void ToolEngine::addMeasure ( std::string name, const Data& data, unsigned int width ) const
119  { ::CRL::addMeasure( getCell(), getMeasureLabel(name), getPassNumber(), data, width ); }
120 
121  template<typename Data>
122  inline void ToolEngine::addMeasure ( std::string name, const Data& data ) const
123  { ::CRL::addMeasure( getCell(), getMeasureLabel(name), getPassNumber(), data ); }
124 
125  template<typename Data>
126  inline void ToolEngine::addMeasure ( std::string name, Data* data ) const
127  { ::CRL::addMeasure( getCell(), getMeasureLabel(name), getPassNumber(), data ); }
128 
129  template<typename Data>
130  inline const Data& ToolEngine::getMeasure ( std::string name ) const
131  { return ::CRL::getMeasure<Data>( getCell(), getMeasureLabel(name) )->getData( getPassNumber() ); }
132 
133 
134 } // CRL namespace.
135 
136 #endif // CRL_TOOL_ENGINE_H
virtual const Name & getName() const =0
+
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 "hurricane/Commons.h"
+
23 #include "hurricane/Timer.h"
+
24 #include "hurricane/DBo.h"
+
25 #include "hurricane/Slot.h"
+
26 
+
27 namespace Hurricane {
+
28  class Name;
+
29  class Cell;
+
30 }
+
31 
+
32 #include "crlcore/Measures.h"
+
33 #include "crlcore/ToolEngines.h"
+
34 
+
35 
+
36 namespace CRL {
+
37 
+
38  using Hurricane::Timer;
+
39  using Hurricane::Record;
+
40  using Hurricane::Name;
+
41  using Hurricane::DBo;
+
42  using Hurricane::Cell;
+
43 
+
44 
+
45 // -------------------------------------------------------------------
+
46 // Class : "CRL::ToolEngine".
+
47 
+
48  class ToolEngine : public DBo {
+
49  public:
+
50  typedef DBo Super;
+
51  public:
+
52  static ToolEngines get ( const Cell* cell );
+
53  static ToolEngine* get ( const Cell* cell, const Name& name );
+
54  static void destroyAll ();
+
55  static bool inDestroyAll ();
+
56  public:
+
57  virtual const Name& getName () const = 0;
+
58  inline Cell* getCell () const;
+
59  inline uint32_t getPassNumber () const;
+
60  bool placementModificationFlagHasChanged ();
+
61  bool routingModificationFlagHasChanged ();
+
62  inline void setInRelationDestroy ( bool );
+
63  inline const Timer& getTimer () const;
+
64  inline void setPassNumber ( uint32_t );
+
65  inline std::string getMeasureLabel ( std::string ) const;
+
66  void startMeasures ();
+
67  void stopMeasures ();
+
68  void suspendMeasures ();
+
69  void resumeMeasures ();
+
70  void printMeasures () const;
+
71  template<typename Data>
+
72  inline void addMeasure ( std::string, const Data&, unsigned int width ) const;
+
73  template<typename Data>
+
74  inline void addMeasure ( std::string, const Data& ) const;
+
75  template<typename Data>
+
76  inline void addMeasure ( std::string, Data* ) const;
+
77  template<typename Data>
+
78  inline const Data& getMeasure ( std::string ) const;
+
79  virtual std::string _getTypeName () const;
+
80  virtual std::string _getString () const;
+
81  virtual Record* _getRecord () const;
+
82  private:
+
83  static bool _inDestroyAll;
+
84  protected:
+
85  Cell* _cell;
+
86  private:
+
87  unsigned int _placementModificationFlag;
+
88  unsigned int _routingModificationFlag;
+
89  bool _inRelationDestroy;
+
90  Timer _timer;
+
91  uint32_t _passNumber;
+
92  protected:
+
93  ToolEngine ( Cell* cell );
+
94  virtual void _postCreate ();
+
95  virtual void _preDestroy ();
+
96  protected:
+
97  void grabPlacementModificationFlag ();
+
98  void getPlacementModificationFlag ();
+
99  void grabRoutingModificationFlag ();
+
100  void getRoutingModificationFlag ();
+
101  };
+
102 
+
103 
+
104 // -------------------------------------------------------------------
+
105 // Inline Functions.
+
106 
+
107 
+
108  inline Cell* ToolEngine::getCell () const { return _cell; }
+
109  inline void ToolEngine::setInRelationDestroy ( bool state ) { _inRelationDestroy = state; }
+
110  inline const Timer& ToolEngine::getTimer () const { return _timer; }
+
111  inline uint32_t ToolEngine::getPassNumber () const { return _passNumber; }
+
112  inline void ToolEngine::setPassNumber ( uint32_t n ) { _passNumber = n; }
+
113 
+
114  inline std::string ToolEngine::getMeasureLabel ( std::string label ) const
+
115  { return _getTypeName() + "." + label; }
+
116 
+
117  template<typename Data>
+
118  inline void ToolEngine::addMeasure ( std::string name, const Data& data, unsigned int width ) const
+
119  { ::CRL::addMeasure( getCell(), getMeasureLabel(name), getPassNumber(), data, width ); }
+
120 
+
121  template<typename Data>
+
122  inline void ToolEngine::addMeasure ( std::string name, const Data& data ) const
+
123  { ::CRL::addMeasure( getCell(), getMeasureLabel(name), getPassNumber(), data ); }
+
124 
+
125  template<typename Data>
+
126  inline void ToolEngine::addMeasure ( std::string name, Data* data ) const
+
127  { ::CRL::addMeasure( getCell(), getMeasureLabel(name), getPassNumber(), data ); }
+
128 
+
129  template<typename Data>
+
130  inline const Data& ToolEngine::getMeasure ( std::string name ) const
+
131  { return ::CRL::getMeasure<Data>( getCell(), getMeasureLabel(name) )->getData( getPassNumber() ); }
+
132 
+
133 
+
134 } // CRL namespace.
+
135 
+
136 #endif // CRL_TOOL_ENGINE_H
+
virtual const Name & getName() const =0
static void destroyAll()
Base Class of all Coriolis Tools.
Definition: ToolEngine.h:48
- -
The namespace of Coriolis Core.
Definition: Environment.h:26


- +
Generated by doxygen 1.8.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 8733d30b..a06df4a0 100644 --- a/crlcore/doc/crlcore/html/ToolEngines_8h_source.html +++ b/crlcore/doc/crlcore/html/ToolEngines_8h_source.html @@ -24,16 +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:48
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.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 Return to top of page
diff --git a/crlcore/doc/crlcore/html/annotated.html b/crlcore/doc/crlcore/html/annotated.html index 517f6247..fa5e16c2 100644 --- a/crlcore/doc/crlcore/html/annotated.html +++ b/crlcore/doc/crlcore/html/annotated.html @@ -24,16 +24,24 @@ -->
- - - - - + + +
@@ -42,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
@@ -64,7 +73,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Mon Feb 3 2020Generated by doxygen 1.8.5 on Thu Mar 19 2020 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 cfb6a1d4..a67ad7ea 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html @@ -24,16 +24,24 @@ -->
- - - - - + + +